UNPKG

@hpcc-js/wasm-graphviz

Version:
311 lines (310 loc) 10.7 kB
export type Shape = "box" | "polygon" | "ellipse" | "oval" | "circle" | "point" | "egg" | "triangle" | "plaintext" | "plain" | "diamond" | "trapezium" | "parallelogram" | "house" | "pentagon" | "hexagon" | "septagon" | "octagon" | "doublecircle" | "doubleoctagon" | "tripleoctagon" | "invtriangle" | "invtrapezium" | "invhouse" | "Mdiamond" | "Msquare" | "Mcircle" | "rect" | "rectangle" | "square" | "star" | "none" | "underline" | "cylinder" | "note" | "tab" | "folder" | "box3d" | "component" | "promoter" | "cds" | "terminator" | "utr" | "primersite" | "restrictionsite" | "fivepoverhang" | "threepoverhang" | "noverhang" | "assembly" | "signature" | "insulator" | "ribosite" | "rnastab" | "proteasesite" | "proteinstab" | "rpromoter" | "rarrow" | "larrow" | "lpromoter" | "record" | "Mrecord"; export type ArrowType = "normal" | "inv" | "dot" | "invdot" | "odot" | "invodot" | "none" | "tee" | "empty" | "invempty" | "diamond" | "odiamond" | "ediamond" | "crow" | "box" | "obox" | "open" | "halfopen" | "vee"; export type DirType = "forward" | "back" | "both" | "none"; export type EdgeStyle = "solid" | "dashed" | "dotted" | "bold" | "invis" | "tapered"; export type NodeStyle = "solid" | "dashed" | "dotted" | "bold" | "invis" | "filled" | "striped" | "wedged" | "diagonals" | "rounded" | "radial"; export type ClusterStyle = "solid" | "dashed" | "dotted" | "bold" | "invis" | "filled" | "striped" | "rounded" | "radial"; /** Cluster ranking mode (https://graphviz.org/docs/attr-types/clusterMode/) */ export type ClusterMode = "local" | "global" | "none"; /** Output draw order (https://graphviz.org/docs/attr-types/outputMode/) */ export type OutputMode = "breadthfirst" | "nodesfirst" | "edgesfirst"; /** Graph layout direction (https://graphviz.org/docs/attr-types/rankdir/) */ export type RankDir = "TB" | "LR" | "BT" | "RL"; /** Subgraph rank constraint (https://graphviz.org/docs/attr-types/rankType/) */ export type RankType = "same" | "min" | "source" | "max" | "sink"; /** Page output order (https://graphviz.org/docs/attr-types/pagedir/) */ export type PageDir = "BL" | "BR" | "TL" | "TR" | "RB" | "RT" | "LB" | "LT"; /** Component packing granularity (https://graphviz.org/docs/attr-types/packMode/) */ export type PackMode = "node" | "cluster" | "graph"; /** Smoothing method for sfdp (https://graphviz.org/docs/attr-types/smoothType/) */ export type SmoothType = "none" | "avg_dist" | "graph_dist" | "power_dist" | "rng" | "spring" | "triangle"; /** Quadtree scheme for sfdp (https://graphviz.org/docs/attr-types/quadType/) */ export type QuadType = "normal" | "fast" | "none"; /** Compass point for port positions (https://graphviz.org/docs/attr-types/portPos/) */ export type CompassPoint = "n" | "ne" | "e" | "se" | "s" | "sw" | "w" | "nw" | "c" | "_"; /** Vertical placement of labels for nodes, root graphs and clusters (https://graphviz.org/docs/attr-types/labelloc/) */ export type LabelLoc = "t" | "c" | "b"; export interface NodeAttrs { area?: number; class?: string; color?: string; colorscheme?: string; comment?: string; distortion?: number; fillcolor?: string; fixedsize?: boolean | string; fontcolor?: string; fontname?: string; fontsize?: number; gradientangle?: number; group?: string; height?: number; href?: string; id?: string; image?: string; imagepos?: string; imagescale?: boolean | string; label?: string; labelloc?: LabelLoc; layer?: string; margin?: number | string; nojustify?: boolean; ordering?: string; orientation?: number; penwidth?: number; peripheries?: number; pin?: boolean; pos?: string; rects?: string; regular?: boolean; root?: string | boolean; samplepoints?: number; shape?: Shape; shapefile?: string; showboxes?: number; sides?: number; skew?: number; sortv?: number; style?: string; target?: string; tooltip?: string; URL?: string; vertices?: string; width?: number; xlabel?: string; xlp?: string; z?: number; } export interface EdgeAttrs { arrowhead?: ArrowType; arrowsize?: number; arrowtail?: ArrowType; class?: string; color?: string; colorscheme?: string; comment?: string; constraint?: boolean; decorate?: boolean; dir?: DirType; edgehref?: string; edgetarget?: string; edgetooltip?: string; edgeURL?: string; fillcolor?: string; fontcolor?: string; fontname?: string; fontsize?: number; head_lp?: string; headclip?: boolean; headhref?: string; headlabel?: string; headport?: string; headtarget?: string; headtooltip?: string; headURL?: string; href?: string; id?: string; label?: string; labelangle?: number; labeldistance?: number; labelfloat?: boolean; labelfontcolor?: string; labelfontname?: string; labelfontsize?: number; labelhref?: string; labeltarget?: string; labeltooltip?: string; labelURL?: string; layer?: string; len?: number; lhead?: string; lp?: string; ltail?: string; minlen?: number; nojustify?: boolean; penwidth?: number; pos?: string; radius?: number; samehead?: string; sametail?: string; showboxes?: number; style?: EdgeStyle | string; tail_lp?: string; tailclip?: boolean; tailhref?: string; taillabel?: string; tailport?: string; tailtarget?: string; tailtooltip?: string; tailURL?: string; target?: string; tooltip?: string; URL?: string; weight?: number; xlabel?: string; xlp?: string; } export interface ClusterAttrs { area?: number; bb?: string; bgcolor?: string; class?: string; cluster?: boolean; color?: string; colorscheme?: string; fillcolor?: string; fontcolor?: string; fontname?: string; fontsize?: number; gradientangle?: number; href?: string; id?: string; K?: number; label?: string; labeljust?: string; labelloc?: LabelLoc; layer?: string; lheight?: number; lp?: string; lwidth?: number; margin?: number | string; nojustify?: boolean; pencolor?: string; penwidth?: number; peripheries?: number; rank?: RankType; sortv?: number; style?: string; target?: string; tooltip?: string; URL?: string; } export interface GraphAttrs { _background?: string; bb?: string; beautify?: boolean; bgcolor?: string; center?: boolean; charset?: string; class?: string; clusterrank?: ClusterMode; colorscheme?: string; comment?: string; compound?: boolean; concentrate?: boolean; Damping?: number; defaultdist?: number; dim?: number; dimen?: number; diredgeconstraints?: string | boolean; dpi?: number; epsilon?: number; esep?: string; fontcolor?: string; fontname?: string; fontnames?: string; fontpath?: string; fontsize?: number; forcelabels?: boolean; gradientangle?: number; href?: string; id?: string; imagepath?: string; inputscale?: number; K?: number; label?: string; label_scheme?: number; labeljust?: string; labelloc?: LabelLoc; landscape?: boolean; layerlistsep?: string; layers?: string; layerselect?: string; layersep?: string; layout?: string; levels?: number; levelsgap?: number; lheight?: number; linelength?: number; lp?: string; lwidth?: number; margin?: number | string; maxiter?: number; mclimit?: number; mindist?: number; mode?: string; model?: string; newrank?: boolean; nodesep?: number; nojustify?: boolean; normalize?: number | boolean; notranslate?: boolean; nslimit?: number; nslimit1?: number; oneblock?: boolean; ordering?: string; orientation?: string; outputorder?: OutputMode; overlap?: string | boolean; overlap_scaling?: number; overlap_shrink?: boolean; pack?: boolean | number; packmode?: string; pad?: number | string; page?: number | string; pagedir?: PageDir; quantum?: number; rankdir?: RankDir; ranksep?: number | string; ratio?: number | string; remincross?: boolean; repulsiveforce?: number; resolution?: number; root?: string | boolean; rotate?: number; rotation?: number; scale?: number | string; searchsize?: number; sep?: string; showboxes?: number; size?: number | string; smoothing?: SmoothType; sortv?: number; splines?: boolean | string; start?: string; style?: string; stylesheet?: string; target?: string; TBbalance?: string; tooltip?: string; truecolor?: boolean; URL?: string; viewport?: string; voro_margin?: number; xdotversion?: string; } type NodeWriteOnly = "rects" | "vertices" | "xlp"; type EdgeWriteOnly = "head_lp" | "tail_lp" | "lp" | "xlp"; type ClusterWriteOnly = "bb" | "lheight" | "lp" | "lwidth"; type GraphExcluded = "type" | "strict" | "nodeDefaults" | "edgeDefaults" | "graphDefaults" | "bb" | "lheight" | "lp" | "lwidth"; export type NodeDotAttr = Exclude<keyof NodeAttrs, NodeWriteOnly>; export type EdgeDotAttr = Exclude<keyof EdgeAttrs, EdgeWriteOnly>; export type ClusterDotAttr = Exclude<keyof ClusterAttrs, ClusterWriteOnly>; export type GraphDotAttr = Exclude<keyof GraphAttrs, GraphExcluded>; /** Node DOT attributes (excludes inherited base keys and write-only: rects, vertices, xlp) */ export declare const NODE_DOT_ATTRS: readonly NodeDotAttr[]; /** Edge DOT attributes (excludes inherited base keys and write-only: head_lp, tail_lp, lp, xlp) */ export declare const EDGE_DOT_ATTRS: readonly EdgeDotAttr[]; /** Cluster DOT attributes (excludes inherited base keys and write-only: bb, lheight, lp, lwidth) */ export declare const CLUSTER_DOT_ATTRS: readonly ClusterDotAttr[]; /** Graph DOT attributes (excludes write-only: bb, lheight, lp, lwidth; and non-DOT: type) */ export declare const GRAPH_DOT_ATTRS: readonly GraphDotAttr[]; /** * Various graphic and data formats for end user, web, documents and other applications. See [Output Formats](https://graphviz.org/docs/outputs/) for more information. */ export type Format = "svg" | "svg_inline" | "dot" | "json" | "dot_json" | "xdot_json" | "plain" | "plain-ext" | "canon"; /** * Various algorithms for projecting abstract graphs into a space for visualization. See [Layout Engines](https://graphviz.org/docs/layouts/) for more details. */ export type Engine = "circo" | "dot" | "fdp" | "sfdp" | "neato" | "osage" | "patchwork" | "twopi" | "nop" | "nop2"; export {};