@deck.gl-community/graph-layers 9.2.0-beta.2 → 9.2.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/dist/core/graph-engine.d.ts +63 -21
  2. package/dist/core/graph-engine.d.ts.map +1 -1
  3. package/dist/core/graph-engine.js +155 -75
  4. package/dist/core/graph-engine.js.map +1 -1
  5. package/dist/core/graph-layout.d.ts +22 -18
  6. package/dist/core/graph-layout.d.ts.map +1 -1
  7. package/dist/core/graph-layout.js +33 -18
  8. package/dist/core/graph-layout.js.map +1 -1
  9. package/dist/core/interaction-manager.d.ts +2 -2
  10. package/dist/core/interaction-manager.d.ts.map +1 -1
  11. package/dist/core/interaction-manager.js +7 -5
  12. package/dist/core/interaction-manager.js.map +1 -1
  13. package/dist/graph/arrow-graph.d.ts +69 -0
  14. package/dist/graph/arrow-graph.d.ts.map +1 -0
  15. package/dist/graph/arrow-graph.js +513 -0
  16. package/dist/graph/arrow-graph.js.map +1 -0
  17. package/dist/graph/classic-graph.d.ts +169 -0
  18. package/dist/graph/classic-graph.d.ts.map +1 -0
  19. package/dist/graph/classic-graph.js +390 -0
  20. package/dist/graph/classic-graph.js.map +1 -0
  21. package/dist/graph/edge.d.ts +6 -6
  22. package/dist/graph/edge.d.ts.map +1 -1
  23. package/dist/graph/edge.js.map +1 -1
  24. package/dist/graph/functions/arrow-utils.d.ts +6 -0
  25. package/dist/graph/functions/arrow-utils.d.ts.map +1 -0
  26. package/dist/graph/functions/arrow-utils.js +67 -0
  27. package/dist/graph/functions/arrow-utils.js.map +1 -0
  28. package/dist/graph/functions/create-graph-from-data.d.ts +3 -0
  29. package/dist/graph/functions/create-graph-from-data.d.ts.map +1 -0
  30. package/dist/graph/functions/create-graph-from-data.js +12 -0
  31. package/dist/graph/functions/create-graph-from-data.js.map +1 -0
  32. package/dist/graph/graph-normalization.d.ts +10 -0
  33. package/dist/graph/graph-normalization.d.ts.map +1 -0
  34. package/dist/graph/graph-normalization.js +65 -0
  35. package/dist/graph/graph-normalization.js.map +1 -0
  36. package/dist/graph/graph.d.ts +62 -155
  37. package/dist/graph/graph.d.ts.map +1 -1
  38. package/dist/graph/graph.js +11 -300
  39. package/dist/graph/graph.js.map +1 -1
  40. package/dist/graph/node.d.ts +6 -6
  41. package/dist/graph/node.d.ts.map +1 -1
  42. package/dist/graph/node.js +2 -2
  43. package/dist/graph/node.js.map +1 -1
  44. package/dist/graph-data/arrow-graph-data-builder.d.ts +21 -0
  45. package/dist/graph-data/arrow-graph-data-builder.d.ts.map +1 -0
  46. package/dist/graph-data/arrow-graph-data-builder.js +105 -0
  47. package/dist/graph-data/arrow-graph-data-builder.js.map +1 -0
  48. package/dist/graph-data/graph-data-builder.d.ts +6 -0
  49. package/dist/graph-data/graph-data-builder.d.ts.map +1 -0
  50. package/dist/graph-data/graph-data-builder.js +1 -0
  51. package/dist/graph-data/graph-data-builder.js.map +1 -0
  52. package/dist/graph-data/graph-data.d.ts +40 -0
  53. package/dist/graph-data/graph-data.d.ts.map +1 -0
  54. package/dist/graph-data/graph-data.js +11 -0
  55. package/dist/graph-data/graph-data.js.map +1 -0
  56. package/dist/graph-data/plain-graph-data-builder.d.ts +20 -0
  57. package/dist/graph-data/plain-graph-data-builder.d.ts.map +1 -0
  58. package/dist/graph-data/plain-graph-data-builder.js +105 -0
  59. package/dist/graph-data/plain-graph-data-builder.js.map +1 -0
  60. package/dist/graph-style-schema.cdn.js +1 -1
  61. package/dist/graph-style-schema.json +1 -1
  62. package/dist/index.cjs +6905 -4576
  63. package/dist/index.cjs.map +4 -4
  64. package/dist/index.d.ts +14 -7
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +24 -11
  67. package/dist/index.js.map +1 -1
  68. package/dist/layers/common-layers/flow-path-layer/flow-path-layer.d.ts.map +1 -1
  69. package/dist/layers/common-layers/flow-path-layer/flow-path-layer.js +1 -2
  70. package/dist/layers/common-layers/flow-path-layer/flow-path-layer.js.map +1 -1
  71. package/dist/layers/common-layers/grid-layer/grid-layer.d.ts +83 -0
  72. package/dist/layers/common-layers/grid-layer/grid-layer.d.ts.map +1 -0
  73. package/dist/layers/common-layers/grid-layer/grid-layer.js +133 -0
  74. package/dist/layers/common-layers/grid-layer/grid-layer.js.map +1 -0
  75. package/dist/layers/edge-attachment-helper.d.ts.map +1 -1
  76. package/dist/layers/edge-attachment-helper.js +1 -2
  77. package/dist/layers/edge-attachment-helper.js.map +1 -1
  78. package/dist/layers/graph-layer.d.ts +68 -11
  79. package/dist/layers/graph-layer.d.ts.map +1 -1
  80. package/dist/layers/graph-layer.js +435 -50
  81. package/dist/layers/graph-layer.js.map +1 -1
  82. package/dist/layouts/d3-dag/collapsable-d3-dag-layout.d.ts +24 -0
  83. package/dist/layouts/d3-dag/collapsable-d3-dag-layout.d.ts.map +1 -0
  84. package/dist/layouts/d3-dag/collapsable-d3-dag-layout.js +251 -0
  85. package/dist/layouts/d3-dag/collapsable-d3-dag-layout.js.map +1 -0
  86. package/dist/layouts/d3-dag/d3-dag-layout.d.ts +46 -61
  87. package/dist/layouts/d3-dag/d3-dag-layout.d.ts.map +1 -1
  88. package/dist/layouts/d3-dag/d3-dag-layout.js +85 -270
  89. package/dist/layouts/d3-dag/d3-dag-layout.js.map +1 -1
  90. package/dist/layouts/d3-force/d3-force-layout.d.ts +20 -8
  91. package/dist/layouts/d3-force/d3-force-layout.d.ts.map +1 -1
  92. package/dist/layouts/d3-force/d3-force-layout.js +39 -20
  93. package/dist/layouts/d3-force/d3-force-layout.js.map +1 -1
  94. package/dist/layouts/experimental/force-multi-graph-layout.d.ts +19 -15
  95. package/dist/layouts/experimental/force-multi-graph-layout.d.ts.map +1 -1
  96. package/dist/layouts/experimental/force-multi-graph-layout.js +47 -38
  97. package/dist/layouts/experimental/force-multi-graph-layout.js.map +1 -1
  98. package/dist/layouts/experimental/hive-plot-layout.d.ts +18 -15
  99. package/dist/layouts/experimental/hive-plot-layout.d.ts.map +1 -1
  100. package/dist/layouts/experimental/hive-plot-layout.js +33 -34
  101. package/dist/layouts/experimental/hive-plot-layout.js.map +1 -1
  102. package/dist/layouts/experimental/radial-layout.d.ts +12 -7
  103. package/dist/layouts/experimental/radial-layout.d.ts.map +1 -1
  104. package/dist/layouts/experimental/radial-layout.js +31 -14
  105. package/dist/layouts/experimental/radial-layout.js.map +1 -1
  106. package/dist/layouts/gpu-force/gpu-force-layout.d.ts +11 -8
  107. package/dist/layouts/gpu-force/gpu-force-layout.d.ts.map +1 -1
  108. package/dist/layouts/gpu-force/gpu-force-layout.js +59 -56
  109. package/dist/layouts/gpu-force/gpu-force-layout.js.map +1 -1
  110. package/dist/layouts/simple-layout.d.ts +8 -25
  111. package/dist/layouts/simple-layout.d.ts.map +1 -1
  112. package/dist/layouts/simple-layout.js +13 -17
  113. package/dist/layouts/simple-layout.js.map +1 -1
  114. package/dist/loaders/dot-graph-loader.d.ts +25 -0
  115. package/dist/loaders/dot-graph-loader.d.ts.map +1 -0
  116. package/dist/loaders/dot-graph-loader.js +668 -0
  117. package/dist/loaders/dot-graph-loader.js.map +1 -0
  118. package/dist/loaders/json-graph-loader.d.ts +6 -0
  119. package/dist/loaders/json-graph-loader.d.ts.map +1 -0
  120. package/dist/loaders/json-graph-loader.js +31 -0
  121. package/dist/loaders/json-graph-loader.js.map +1 -0
  122. package/dist/loaders/{edge-parsers.d.ts → parsers/edge-parsers.d.ts} +1 -1
  123. package/dist/loaders/parsers/edge-parsers.d.ts.map +1 -0
  124. package/dist/loaders/{edge-parsers.js → parsers/edge-parsers.js} +1 -1
  125. package/dist/loaders/parsers/edge-parsers.js.map +1 -0
  126. package/dist/loaders/{node-parsers.d.ts → parsers/node-parsers.d.ts} +1 -1
  127. package/dist/loaders/parsers/node-parsers.d.ts.map +1 -0
  128. package/dist/loaders/{node-parsers.js → parsers/node-parsers.js} +1 -1
  129. package/dist/loaders/parsers/node-parsers.js.map +1 -0
  130. package/dist/loaders/parsers/parse-json-graph.d.ts +29 -0
  131. package/dist/loaders/parsers/parse-json-graph.d.ts.map +1 -0
  132. package/dist/loaders/parsers/parse-json-graph.js +78 -0
  133. package/dist/loaders/parsers/parse-json-graph.js.map +1 -0
  134. package/dist/style/graph-style-engine.d.ts +4 -2
  135. package/dist/style/graph-style-engine.d.ts.map +1 -1
  136. package/dist/style/graph-style-engine.js +3 -2
  137. package/dist/style/graph-style-engine.js.map +1 -1
  138. package/dist/style/{style-engine.d.ts → stylesheet-engine.d.ts} +3 -3
  139. package/dist/style/stylesheet-engine.d.ts.map +1 -0
  140. package/dist/style/{style-engine.js → stylesheet-engine.js} +1 -1
  141. package/dist/style/stylesheet-engine.js.map +1 -0
  142. package/dist/utils/collapsed-chains.d.ts +8 -8
  143. package/dist/utils/collapsed-chains.d.ts.map +1 -1
  144. package/dist/utils/collapsed-chains.js +1 -6
  145. package/dist/utils/collapsed-chains.js.map +1 -1
  146. package/dist/utils/rank-grid.d.ts +30 -0
  147. package/dist/utils/rank-grid.d.ts.map +1 -0
  148. package/dist/utils/rank-grid.js +306 -0
  149. package/dist/utils/rank-grid.js.map +1 -0
  150. package/package.json +4 -8
  151. package/src/_disabled/arrow-graph-data.ts.disabled +18 -0
  152. package/src/_disabled/columnar-graph-data-builder.ts.disabled +250 -0
  153. package/src/_disabled/graph-runtime-layout.ts.disabled +29 -0
  154. package/src/core/graph-engine.ts +201 -84
  155. package/src/core/graph-layout.ts +52 -29
  156. package/src/core/interaction-manager.ts +20 -20
  157. package/src/graph/arrow-graph.ts +648 -0
  158. package/src/graph/classic-graph.ts +447 -0
  159. package/src/graph/edge.ts +7 -7
  160. package/src/graph/functions/arrow-utils.ts +72 -0
  161. package/src/graph/functions/convert-arrow-graph-to-classic-graph.ts.disabled +47 -0
  162. package/src/graph/functions/convert-plain-graph-to-arrow-graph.ts.disabled +119 -0
  163. package/src/graph/functions/create-graph-from-data.ts +16 -0
  164. package/src/graph/functions/create-plain-graph-from-data.ts.disabled +176 -0
  165. package/src/graph/graph-normalization.ts +87 -0
  166. package/src/graph/graph.ts +68 -339
  167. package/src/graph/node.ts +9 -9
  168. package/src/graph/tabular-graph.ts.disabled +761 -0
  169. package/src/graph-data/arrow-graph-data-builder.ts +165 -0
  170. package/src/graph-data/graph-data-builder.ts +7 -0
  171. package/src/graph-data/graph-data.ts +57 -0
  172. package/src/graph-data/plain-graph-data-builder.ts +132 -0
  173. package/src/index.ts +53 -13
  174. package/src/layers/common-layers/flow-path-layer/flow-path-layer.ts +1 -2
  175. package/src/layers/common-layers/grid-layer/grid-layer.ts +237 -0
  176. package/src/layers/edge-attachment-helper.ts +22 -16
  177. package/src/layers/graph-layer.ts +642 -62
  178. package/src/layouts/d3-dag/collapsable-d3-dag-layout.ts +330 -0
  179. package/src/layouts/d3-dag/d3-dag-layout.ts +166 -396
  180. package/src/layouts/d3-force/d3-force-layout.ts +52 -30
  181. package/src/layouts/experimental/force-multi-graph-layout.ts +55 -49
  182. package/src/layouts/experimental/hive-plot-layout.ts +41 -42
  183. package/src/layouts/experimental/radial-layout.ts +39 -20
  184. package/src/layouts/gpu-force/gpu-force-layout.ts +72 -70
  185. package/src/layouts/simple-layout.ts +20 -44
  186. package/src/loaders/{create-graph.ts → deprecated/create-graph.ts.disabled} +6 -6
  187. package/src/loaders/deprecated/json-classic-graph-loader.ts.disabled +33 -0
  188. package/src/loaders/{simple-json-graph-loader.ts → deprecated/simple-json-graph-loader.ts.disabled} +3 -3
  189. package/src/loaders/{table-graph-loader.ts → deprecated/table-graph-loader.ts.disabled} +8 -8
  190. package/src/loaders/dot-graph-loader.ts +860 -0
  191. package/src/loaders/json-graph-loader.ts +48 -0
  192. package/src/loaders/parsers/create-graph-data.ts.disabled +45 -0
  193. package/src/loaders/{edge-parsers.ts → parsers/edge-parsers.ts} +2 -2
  194. package/src/loaders/{node-parsers.ts → parsers/node-parsers.ts} +2 -2
  195. package/src/loaders/parsers/parse-json-graph.ts +134 -0
  196. package/src/style/graph-style-engine.ts +5 -2
  197. package/src/style/{style-engine.ts → stylesheet-engine.ts} +3 -3
  198. package/src/utils/collapsed-chains.ts +11 -17
  199. package/src/utils/rank-grid.ts +426 -0
  200. package/dist/loaders/create-graph.d.ts +0 -12
  201. package/dist/loaders/create-graph.d.ts.map +0 -1
  202. package/dist/loaders/create-graph.js +0 -38
  203. package/dist/loaders/create-graph.js.map +0 -1
  204. package/dist/loaders/edge-parsers.d.ts.map +0 -1
  205. package/dist/loaders/edge-parsers.js.map +0 -1
  206. package/dist/loaders/json-loader.d.ts +0 -7
  207. package/dist/loaders/json-loader.d.ts.map +0 -1
  208. package/dist/loaders/json-loader.js +0 -16
  209. package/dist/loaders/json-loader.js.map +0 -1
  210. package/dist/loaders/node-parsers.d.ts.map +0 -1
  211. package/dist/loaders/node-parsers.js.map +0 -1
  212. package/dist/loaders/simple-json-graph-loader.d.ts +0 -11
  213. package/dist/loaders/simple-json-graph-loader.d.ts.map +0 -1
  214. package/dist/loaders/simple-json-graph-loader.js +0 -20
  215. package/dist/loaders/simple-json-graph-loader.js.map +0 -1
  216. package/dist/loaders/table-graph-loader.d.ts +0 -16
  217. package/dist/loaders/table-graph-loader.d.ts.map +0 -1
  218. package/dist/loaders/table-graph-loader.js +0 -91
  219. package/dist/loaders/table-graph-loader.js.map +0 -1
  220. package/dist/style/style-engine.d.ts.map +0 -1
  221. package/dist/style/style-engine.js.map +0 -1
  222. package/dist/widgets/long-press-button.d.ts +0 -12
  223. package/dist/widgets/long-press-button.d.ts.map +0 -1
  224. package/dist/widgets/long-press-button.js +0 -31
  225. package/dist/widgets/long-press-button.js.map +0 -1
  226. package/dist/widgets/view-control-widget.d.ts +0 -77
  227. package/dist/widgets/view-control-widget.d.ts.map +0 -1
  228. package/dist/widgets/view-control-widget.js +0 -197
  229. package/dist/widgets/view-control-widget.js.map +0 -1
  230. package/src/loaders/json-loader.ts +0 -19
  231. package/src/widgets/long-press-button.tsx +0 -50
  232. package/src/widgets/view-control-widget.tsx +0 -339
@@ -0,0 +1,169 @@
1
+ import { Edge } from './edge';
2
+ import { Node } from './node';
3
+ import type { EdgeInterface, NodeInterface, GraphProps } from './graph';
4
+ import { Graph } from './graph';
5
+ import type { PlainGraphData } from '../graph-data/graph-data';
6
+ export type ClassicGraphProps = GraphProps & {
7
+ data: PlainGraphData;
8
+ };
9
+ /** Basic graph data structure */
10
+ export declare class ClassicGraph extends Graph {
11
+ /** List object of nodes. */
12
+ private _nodeMap;
13
+ /** List of object edges. */
14
+ private _edgeMap;
15
+ /**
16
+ * Identifies whether performing dirty check when streaming new data. If
17
+ * the name of the graph is not specified, will fall back to current time stamp.
18
+ */
19
+ private _name;
20
+ /** Version the graph. A version is a number that is incremented every time the graph is updated. */
21
+ version: number;
22
+ /** Cached data: create array data from maps. */
23
+ private _cache;
24
+ private _suspendVersionUpdates;
25
+ /**
26
+ * The constructor of the graph class.
27
+ * @param props -
28
+ */
29
+ constructor(props: ClassicGraphProps);
30
+ /**
31
+ * Set graph name
32
+ * @param name
33
+ */
34
+ setGraphName(name: string): void;
35
+ /** Get the name of the graph. Default value is the time stamp when creating this graph.
36
+ * @return graph name.
37
+ */
38
+ getGraphName(): string;
39
+ /**
40
+ * Perform a batch of operations defined by cb before indicating graph is updated
41
+ * @param {function} cb - a callback function containing the operations to perform
42
+ */
43
+ transaction<T>(cb: (...args: unknown[]) => T): T;
44
+ /**
45
+ * Add a new node to the graph.
46
+ * @paramnode - expect a Node object to be added to the graph.
47
+ */
48
+ addNode(node: Node): void;
49
+ /**
50
+ * Batch add nodes to the graph.
51
+ * @param nodes - a list of nodes to be added.
52
+ */
53
+ batchAddNodes(nodes: Node[]): void;
54
+ /**
55
+ * Get all the nodes of the graph.
56
+ * @return {Node[]} - get all the nodes in the graph.
57
+ */
58
+ getNodes(): NodeInterface[];
59
+ /**
60
+ * Get the node map of the graph. The key of the map is the ID of the nodes.
61
+ * @return - a map of nodes keyed by node IDs.
62
+ */
63
+ getNodeMap(): Record<string | number, Node>;
64
+ /**
65
+ * Find a node by id
66
+ * @param nodeId The id of the node
67
+ * @return Node
68
+ */
69
+ findNode(nodeId: string | number): Node | undefined;
70
+ findNodeById(nodeId: string | number): NodeInterface | undefined;
71
+ /**
72
+ * Update the indicated node to the provided value
73
+ * @param node
74
+ */
75
+ updateNode(node: Node): void;
76
+ /**
77
+ * Add a new edge to the graph.
78
+ * @param edge - expect a Edge object to be added to the graph.
79
+ */
80
+ addEdge(edge: Edge): void;
81
+ /**
82
+ * Batch add edges to the graph
83
+ * @param edges - a list of edges to be added.
84
+ */
85
+ batchAddEdges(edges: Edge[]): void;
86
+ /**
87
+ * Update the indicated edge to the provided value
88
+ * @param edge
89
+ */
90
+ updateEdge(edge: Edge): void;
91
+ /**
92
+ * Remove a node from the graph by node ID
93
+ * @param nodeId - the ID of the target node.
94
+ */
95
+ removeNode(nodeId: string | number): void;
96
+ /**
97
+ * Get all the edges of the graph.
98
+ * @return get all the edges in the graph.
99
+ */
100
+ getEdges(): EdgeInterface[];
101
+ destroy(): void;
102
+ /**
103
+ * Get the edge map of the graph. The key of the map is the ID of the edges.
104
+ * @return - a map of edges keyed by edge IDs.
105
+ */
106
+ getEdgeMap(): Record<string, Edge>;
107
+ /**
108
+ * Remove an edge from the graph by the edge ID
109
+ * @param {String|Number} edgeId - the target edge ID.
110
+ */
111
+ removeEdge(edgeId: string | number): void;
112
+ /**
113
+ * Find the edge by edge ID.
114
+ * @param id - the target edge ID
115
+ * @return - the target edge.
116
+ */
117
+ findEdge(edgeId: string | number): Edge;
118
+ /**
119
+ * Return all the connected edges of a node by nodeID.
120
+ * @param nodeId - the target node ID
121
+ * @return - an array of the connected edges.
122
+ */
123
+ getConnectedEdges(nodeId: string | number): EdgeInterface[];
124
+ /**
125
+ * Return all the sibling nodes of a node by nodeID.
126
+ * @param nodeId - the target node ID
127
+ * @return - an array of the sibling nodes.
128
+ */
129
+ getNodeSiblings(nodeId: string | number): Node[];
130
+ /**
131
+ * Get the degree of a node.
132
+ * @param nodeId - the target node ID.
133
+ * @return - the degree of the node.
134
+ */
135
+ getDegree(nodeId: string | number): number;
136
+ /**
137
+ * Clean up all the nodes in the graph.
138
+ */
139
+ resetNodes(): void;
140
+ /**
141
+ * Clean up all the edges in the graph.
142
+ */
143
+ resetEdges(): void;
144
+ /**
145
+ * Clean up everything in the graph.
146
+ */
147
+ reset(): void;
148
+ /**
149
+ * @deprecated Prefer interacting with this instance directly.
150
+ */
151
+ getClassicGraph(): ClassicGraph;
152
+ /**
153
+ * Trigger an update to the graph.
154
+ */
155
+ triggerUpdate(): void;
156
+ /**
157
+ * Return true if the graph is empty.
158
+ * @return {Boolean} Return true if the graph is empty.
159
+ */
160
+ isEmpty(): boolean;
161
+ /**
162
+ * Check the equality of two graphs data by checking last update time stamp
163
+ * @param graph Another graph to be compared against itself
164
+ * @return true if the graph is the same as itself.
165
+ */
166
+ equals(graph: ClassicGraph): boolean;
167
+ _bumpVersion(): void;
168
+ _updateCache(key: 'nodes' | 'edges', updateValue: unknown): void;
169
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classic-graph.d.ts","sourceRoot":"","sources":["../../src/graph/classic-graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,390 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { warn } from '../utils/log';
5
+ import { Cache } from '../core/cache';
6
+ import { Edge } from './edge';
7
+ import { Node } from './node';
8
+ import { Graph } from './graph';
9
+ import { cloneRecord, normalizeEdgeState, normalizeNodeState, normalizeVersion } from './graph-normalization';
10
+ /** Basic graph data structure */
11
+ export class ClassicGraph extends Graph {
12
+ /** List object of nodes. */
13
+ _nodeMap = {};
14
+ /** List of object edges. */
15
+ _edgeMap = {};
16
+ /**
17
+ * Identifies whether performing dirty check when streaming new data. If
18
+ * the name of the graph is not specified, will fall back to current time stamp.
19
+ */
20
+ _name = Date.now().toString();
21
+ /** Version the graph. A version is a number that is incremented every time the graph is updated. */
22
+ version = 0;
23
+ /** Cached data: create array data from maps. */
24
+ _cache = new Cache();
25
+ _suspendVersionUpdates = false;
26
+ /**
27
+ * The constructor of the graph class.
28
+ * @param props -
29
+ */
30
+ constructor(props) {
31
+ super(props);
32
+ const data = props.data;
33
+ const nodes = createNodesFromPlainGraphData(data?.nodes);
34
+ const edges = createEdgesFromPlainGraphData(data?.edges);
35
+ this._name = `unnamed-graph-${Date.now().toString()}`;
36
+ this._suspendVersionUpdates = true;
37
+ this.version = normalizeVersion(data?.version);
38
+ try {
39
+ this.batchAddNodes(nodes);
40
+ this.batchAddEdges(edges);
41
+ }
42
+ finally {
43
+ this._suspendVersionUpdates = false;
44
+ }
45
+ }
46
+ /**
47
+ * Set graph name
48
+ * @param name
49
+ */
50
+ setGraphName(name) {
51
+ this._name = name;
52
+ }
53
+ /** Get the name of the graph. Default value is the time stamp when creating this graph.
54
+ * @return graph name.
55
+ */
56
+ getGraphName() {
57
+ return this._name.toString();
58
+ }
59
+ /**
60
+ * Perform a batch of operations defined by cb before indicating graph is updated
61
+ * @param {function} cb - a callback function containing the operations to perform
62
+ */
63
+ transaction(cb) {
64
+ try {
65
+ this.props.onTransactionStart?.();
66
+ return cb();
67
+ }
68
+ finally {
69
+ this.props.onTransactionEnd?.();
70
+ }
71
+ }
72
+ /**
73
+ * Add a new node to the graph.
74
+ * @paramnode - expect a Node object to be added to the graph.
75
+ */
76
+ addNode(node) {
77
+ // add it to the list and map
78
+ this._nodeMap[node.getId()] = node;
79
+ // update last update time stamp
80
+ this._bumpVersion();
81
+ this.props.onNodeAdded?.(node);
82
+ }
83
+ /**
84
+ * Batch add nodes to the graph.
85
+ * @param nodes - a list of nodes to be added.
86
+ */
87
+ batchAddNodes(nodes) {
88
+ // convert an array of objects to an object
89
+ this._nodeMap = nodes.reduce((res, node) => {
90
+ res[node.getId()] = node;
91
+ this.props.onNodeAdded?.(node);
92
+ return res;
93
+ }, { ...this._nodeMap });
94
+ this._bumpVersion();
95
+ }
96
+ /**
97
+ * Get all the nodes of the graph.
98
+ * @return {Node[]} - get all the nodes in the graph.
99
+ */
100
+ getNodes() {
101
+ this._updateCache('nodes', () => Object.values(this._nodeMap));
102
+ return this._cache.get('nodes') ?? [];
103
+ }
104
+ /**
105
+ * Get the node map of the graph. The key of the map is the ID of the nodes.
106
+ * @return - a map of nodes keyed by node IDs.
107
+ */
108
+ getNodeMap() {
109
+ return this._nodeMap;
110
+ }
111
+ /**
112
+ * Find a node by id
113
+ * @param nodeId The id of the node
114
+ * @return Node
115
+ */
116
+ findNode(nodeId) {
117
+ return this._nodeMap[nodeId];
118
+ }
119
+ findNodeById(nodeId) {
120
+ return this.findNode(nodeId);
121
+ }
122
+ /**
123
+ * Update the indicated node to the provided value
124
+ * @param node
125
+ */
126
+ updateNode(node) {
127
+ this._nodeMap[node.getId()] = node;
128
+ this._bumpVersion();
129
+ this.props.onNodeUpdated?.(node);
130
+ }
131
+ /**
132
+ * Add a new edge to the graph.
133
+ * @param edge - expect a Edge object to be added to the graph.
134
+ */
135
+ addEdge(edge) {
136
+ const sourceNode = this.findNode(edge.getSourceNodeId());
137
+ const targetNode = this.findNode(edge.getTargetNodeId());
138
+ if (!sourceNode || !targetNode) {
139
+ warn(`Unable to add edge ${edge.id}, source or target node is missing.`);
140
+ return;
141
+ }
142
+ this._edgeMap[edge.getId()] = edge;
143
+ sourceNode.addConnectedEdges(edge);
144
+ targetNode.addConnectedEdges(edge);
145
+ this._bumpVersion();
146
+ this.props.onEdgeAdded?.(edge);
147
+ }
148
+ /**
149
+ * Batch add edges to the graph
150
+ * @param edges - a list of edges to be added.
151
+ */
152
+ batchAddEdges(edges) {
153
+ edges.forEach((edge) => this.addEdge(edge));
154
+ this._bumpVersion();
155
+ }
156
+ /**
157
+ * Update the indicated edge to the provided value
158
+ * @param edge
159
+ */
160
+ updateEdge(edge) {
161
+ this._edgeMap[edge.getId()] = edge;
162
+ this._bumpVersion();
163
+ this.props.onEdgeUpdated?.(edge);
164
+ }
165
+ /**
166
+ * Remove a node from the graph by node ID
167
+ * @param nodeId - the ID of the target node.
168
+ */
169
+ removeNode(nodeId) {
170
+ const node = this.findNode(nodeId);
171
+ if (!node) {
172
+ warn(`Unable to remove node ${nodeId} - doesn't exist`);
173
+ return;
174
+ }
175
+ // remove all edges connect to this node from map
176
+ node.getConnectedEdges().forEach((e) => {
177
+ delete this._edgeMap[e.getId()];
178
+ });
179
+ // remove the node from map
180
+ delete this._nodeMap[nodeId];
181
+ this._bumpVersion();
182
+ this.props.onNodeRemoved?.(node);
183
+ }
184
+ /**
185
+ * Get all the edges of the graph.
186
+ * @return get all the edges in the graph.
187
+ */
188
+ getEdges() {
189
+ this._updateCache('edges', () => Object.values(this._edgeMap));
190
+ return this._cache.get('edges') ?? [];
191
+ }
192
+ destroy() {
193
+ // No additional teardown required for the legacy graph implementation.
194
+ }
195
+ /**
196
+ * Get the edge map of the graph. The key of the map is the ID of the edges.
197
+ * @return - a map of edges keyed by edge IDs.
198
+ */
199
+ getEdgeMap() {
200
+ return this._edgeMap;
201
+ }
202
+ /**
203
+ * Remove an edge from the graph by the edge ID
204
+ * @param {String|Number} edgeId - the target edge ID.
205
+ */
206
+ removeEdge(edgeId) {
207
+ const edge = this.findEdge(edgeId);
208
+ if (!edge) {
209
+ warn(`Unable to remove edge ${edgeId} - doesn't exist`);
210
+ return;
211
+ }
212
+ const sourceNode = this.findNode(edge.getSourceNodeId());
213
+ const targetNode = this.findNode(edge.getTargetNodeId());
214
+ delete this._edgeMap[edgeId];
215
+ sourceNode.removeConnectedEdges(edge);
216
+ targetNode.removeConnectedEdges(edge);
217
+ this._bumpVersion();
218
+ this.props.onEdgeRemoved?.(edge);
219
+ }
220
+ /**
221
+ * Find the edge by edge ID.
222
+ * @param id - the target edge ID
223
+ * @return - the target edge.
224
+ */
225
+ findEdge(edgeId) {
226
+ return this._edgeMap[edgeId];
227
+ }
228
+ /**
229
+ * Return all the connected edges of a node by nodeID.
230
+ * @param nodeId - the target node ID
231
+ * @return - an array of the connected edges.
232
+ */
233
+ getConnectedEdges(nodeId) {
234
+ const node = this.findNode(nodeId);
235
+ if (!node) {
236
+ warn(`Unable to find node ${nodeId} - doesn't exist`);
237
+ return [];
238
+ }
239
+ return node.getConnectedEdges();
240
+ }
241
+ /**
242
+ * Return all the sibling nodes of a node by nodeID.
243
+ * @param nodeId - the target node ID
244
+ * @return - an array of the sibling nodes.
245
+ */
246
+ getNodeSiblings(nodeId) {
247
+ const node = this.findNode(nodeId);
248
+ if (!node) {
249
+ warn(`Unable to find node ${nodeId} - doesn't exist`);
250
+ return [];
251
+ }
252
+ return node.getSiblingIds().map((siblingNodeId) => this.findNode(siblingNodeId));
253
+ }
254
+ /**
255
+ * Get the degree of a node.
256
+ * @param nodeId - the target node ID.
257
+ * @return - the degree of the node.
258
+ */
259
+ getDegree(nodeId) {
260
+ const node = this.findNode(nodeId);
261
+ if (!node) {
262
+ warn(`Unable to find node ${nodeId} - doesn't exist`);
263
+ return 0;
264
+ }
265
+ return node.getDegree();
266
+ }
267
+ /**
268
+ * Clean up all the nodes in the graph.
269
+ */
270
+ resetNodes() {
271
+ this._nodeMap = {};
272
+ this._bumpVersion();
273
+ }
274
+ /**
275
+ * Clean up all the edges in the graph.
276
+ */
277
+ resetEdges() {
278
+ this._edgeMap = {};
279
+ this._bumpVersion();
280
+ }
281
+ /**
282
+ * Clean up everything in the graph.
283
+ */
284
+ reset() {
285
+ this.resetNodes();
286
+ this.resetEdges();
287
+ this._bumpVersion();
288
+ }
289
+ /**
290
+ * @deprecated Prefer interacting with this instance directly.
291
+ */
292
+ getClassicGraph() {
293
+ return this;
294
+ }
295
+ /**
296
+ * Trigger an update to the graph.
297
+ */
298
+ triggerUpdate() {
299
+ this._bumpVersion();
300
+ }
301
+ /**
302
+ * Return true if the graph is empty.
303
+ * @return {Boolean} Return true if the graph is empty.
304
+ */
305
+ isEmpty() {
306
+ return Object.keys(this._nodeMap).length === 0;
307
+ }
308
+ /**
309
+ * Check the equality of two graphs data by checking last update time stamp
310
+ * @param graph Another graph to be compared against itself
311
+ * @return true if the graph is the same as itself.
312
+ */
313
+ equals(graph) {
314
+ if (!graph || !(graph instanceof ClassicGraph)) {
315
+ return false;
316
+ }
317
+ return this.version === graph.version;
318
+ }
319
+ _bumpVersion() {
320
+ if (this._suspendVersionUpdates) {
321
+ return;
322
+ }
323
+ this.version += 1;
324
+ }
325
+ _updateCache(key, updateValue) {
326
+ this._cache.set(key, updateValue, this.version);
327
+ }
328
+ }
329
+ function createNodesFromPlainGraphData(nodes) {
330
+ if (!nodes) {
331
+ return [];
332
+ }
333
+ return nodes.map((nodeData) => {
334
+ const nodeAttributes = createNodeAttributesFromPlainData(nodeData);
335
+ const selectable = typeof nodeData.selectable === 'boolean'
336
+ ? nodeData.selectable
337
+ : Boolean(nodeAttributes.selectable);
338
+ const highlightConnectedEdges = typeof nodeData.highlightConnectedEdges === 'boolean'
339
+ ? nodeData.highlightConnectedEdges
340
+ : Boolean(nodeAttributes.highlightConnectedEdges);
341
+ const node = new Node({
342
+ id: nodeData.id,
343
+ selectable,
344
+ highlightConnectedEdges,
345
+ data: nodeAttributes
346
+ });
347
+ node.setState(normalizeNodeState(nodeData.state));
348
+ return node;
349
+ });
350
+ }
351
+ function createEdgesFromPlainGraphData(edges) {
352
+ if (!edges) {
353
+ return [];
354
+ }
355
+ return edges.map((edgeData) => {
356
+ const edgeAttributes = createEdgeAttributesFromPlainData(edgeData);
357
+ const directed = typeof edgeData.directed === 'boolean'
358
+ ? edgeData.directed
359
+ : Boolean(edgeAttributes.directed);
360
+ const edge = new Edge({
361
+ id: edgeData.id,
362
+ sourceId: edgeData.sourceId,
363
+ targetId: edgeData.targetId,
364
+ directed,
365
+ data: edgeAttributes
366
+ });
367
+ edge.setState(normalizeEdgeState(edgeData.state));
368
+ return edge;
369
+ });
370
+ }
371
+ function createNodeAttributesFromPlainData(node) {
372
+ const attributes = cloneRecord(node.attributes);
373
+ if (typeof node.label !== 'undefined') {
374
+ attributes.label = node.label;
375
+ }
376
+ if (typeof node.weight !== 'undefined') {
377
+ attributes.weight = node.weight;
378
+ }
379
+ return attributes;
380
+ }
381
+ function createEdgeAttributesFromPlainData(edge) {
382
+ const attributes = cloneRecord(edge.attributes);
383
+ if (typeof edge.label !== 'undefined') {
384
+ attributes.label = edge.label;
385
+ }
386
+ if (typeof edge.weight !== 'undefined') {
387
+ attributes.weight = edge.weight;
388
+ }
389
+ return attributes;
390
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classic-graph.js","sourceRoot":"","sources":["../../src/graph/classic-graph.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { EdgeState } from '../core/constants';
2
- import { Node } from './node';
2
+ import type { EdgeInterface, NodeInterface } from './graph';
3
3
  export interface EdgeOptions {
4
4
  /** the unique ID of the edge */
5
5
  id: string | number;
@@ -13,9 +13,9 @@ export interface EdgeOptions {
13
13
  data?: Record<string, unknown>;
14
14
  }
15
15
  /** Basic edge data structure */
16
- export declare class Edge {
16
+ export declare class Edge implements EdgeInterface {
17
17
  /** Unique uuid of the edge. */
18
- id: string | number;
18
+ readonly id: string | number;
19
19
  /** ID of the source node. */
20
20
  private _sourceId;
21
21
  /** ID of the target node. */
@@ -82,7 +82,7 @@ export declare class Edge {
82
82
  * @returns state - the current interaction state for the edge
83
83
  */
84
84
  getState(): EdgeState;
85
- addNode(node: Node): void;
86
- removeNode(node: Node): void;
87
- getConnectedNodes(): Node[];
85
+ addNode(node: NodeInterface): void;
86
+ removeNode(node: NodeInterface): void;
87
+ getConnectedNodes(): NodeInterface[];
88
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../../src/graph/edge.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,SAAS,EAAC,6BAA0B;AACjD,OAAO,EAAC,IAAI,EAAC,kBAAe;AAE5B,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,gCAAgC;IAChC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,gCAAgC;AAChC,qBAAa,IAAI;IACf,+BAA+B;IACxB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,6BAA6B;IAC7B,OAAO,CAAC,SAAS,CAAkB;IACnC,6BAA6B;IAC7B,OAAO,CAAC,SAAS,CAAkB;IACnC,2CAA2C;IAC3C,OAAO,CAAC,SAAS,CAAU;IAC3B,yCAAyC;IACzC,OAAO,CAAC,KAAK,CAA0B;IACvC,gEAAgE;IAChE,SAAgB,MAAM,QAAQ;IAC9B,wCAAwC;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4B;IAC5D,kBAAkB;IACX,KAAK,EAAE,SAAS,CAAa;IAEpC;;;OAGG;gBACS,EAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAgB,EAAC,EAAE,WAAW;IAQzE;;;OAGG;IACH,KAAK,IAAI,MAAM,GAAG,MAAM;IAIxB;;;OAGG;IACH,UAAU,IAAI,OAAO;IAIrB;;;OAGG;IACH,eAAe,IAAI,MAAM,GAAG,MAAM;IAIlC;;;OAGG;IACH,eAAe,IAAI,MAAM,GAAG,MAAM;IAIlC;;;;OAIG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAatC;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI5C;;;;OAIG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAIlD;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIhC;;;OAGG;IACH,QAAQ,IAAI,SAAS;IAIrB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIzB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAI5B,iBAAiB,IAAI,IAAI,EAAE;CAG5B"}
1
+ {"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../../src/graph/edge.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,SAAS,EAAC,6BAA0B;AACjD,OAAO,KAAK,EAAC,aAAa,EAAE,aAAa,EAAC,mBAAgB;AAE1D,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,gCAAgC;IAChC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,gCAAgC;AAChC,qBAAa,IAAK,YAAW,aAAa;IACxC,+BAA+B;IAC/B,SAAgB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,6BAA6B;IAC7B,OAAO,CAAC,SAAS,CAAkB;IACnC,6BAA6B;IAC7B,OAAO,CAAC,SAAS,CAAkB;IACnC,2CAA2C;IAC3C,OAAO,CAAC,SAAS,CAAU;IAC3B,yCAAyC;IACzC,OAAO,CAAC,KAAK,CAA0B;IACvC,gEAAgE;IAChE,SAAgB,MAAM,QAAQ;IAC9B,wCAAwC;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,kBAAkB;IACX,KAAK,EAAE,SAAS,CAAa;IAEpC;;;OAGG;gBACS,EAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAgB,EAAC,EAAE,WAAW;IAQzE;;;OAGG;IACH,KAAK,IAAI,MAAM,GAAG,MAAM;IAIxB;;;OAGG;IACH,UAAU,IAAI,OAAO;IAIrB;;;OAGG;IACH,eAAe,IAAI,MAAM,GAAG,MAAM;IAIlC;;;OAGG;IACH,eAAe,IAAI,MAAM,GAAG,MAAM;IAIlC;;;;OAIG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAatC;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI5C;;;;OAIG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAIlD;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIhC;;;OAGG;IACH,QAAQ,IAAI,SAAS;IAIrB,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAIlC,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAIrC,iBAAiB,IAAI,aAAa,EAAE;CAGrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"edge.js","sourceRoot":"","sources":["../../src/graph/edge.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,+BAA+B;AAC/B,oCAAoC;AAmBpC,gCAAgC;AAChC,MAAM,OAAO,IAAI;IACf,+BAA+B;IACxB,EAAE,CAAkB;IAC3B,6BAA6B;IACrB,SAAS,CAAkB;IACnC,6BAA6B;IACrB,SAAS,CAAkB;IACnC,2CAA2C;IACnC,SAAS,CAAU;IAC3B,yCAAyC;IACjC,KAAK,CAA0B;IACvC,gEAAgE;IAChD,MAAM,GAAG,IAAI,CAAC;IAC9B,wCAAwC;IACvB,eAAe,GAAyB,EAAE,CAAC;IAC5D,kBAAkB;IACX,KAAK,GAAc,SAAS,CAAC;IAEpC;;;OAGG;IACH,YAAY,EAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,KAAK,EAAc;QACvE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,GAAW;QAC1B,2CAA2C;QAC3C,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,uDAAuD;aAClD,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,uBAAuB;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,IAA6B;QACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,GAAW,EAAE,KAAc;QACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAgB;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,IAAU;QAChB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAC5C,CAAC;IAED,UAAU,CAAC,IAAU;QACnB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,iBAAiB;QACf,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;CACF"}
1
+ {"version":3,"file":"edge.js","sourceRoot":"","sources":["../../src/graph/edge.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,+BAA+B;AAC/B,oCAAoC;AAmBpC,gCAAgC;AAChC,MAAM,OAAO,IAAI;IACf,+BAA+B;IACf,EAAE,CAAkB;IACpC,6BAA6B;IACrB,SAAS,CAAkB;IACnC,6BAA6B;IACrB,SAAS,CAAkB;IACnC,2CAA2C;IACnC,SAAS,CAAU;IAC3B,yCAAyC;IACjC,KAAK,CAA0B;IACvC,gEAAgE;IAChD,MAAM,GAAG,IAAI,CAAC;IAC9B,wCAAwC;IACvB,eAAe,GAAkC,EAAE,CAAC;IACrE,kBAAkB;IACX,KAAK,GAAc,SAAS,CAAC;IAEpC;;;OAGG;IACH,YAAY,EAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,KAAK,EAAc;QACvE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,GAAW;QAC1B,2CAA2C;QAC3C,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,uDAAuD;aAClD,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,uBAAuB;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,IAA6B;QACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,GAAW,EAAE,KAAc;QACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAgB;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,IAAmB;QACzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAC5C,CAAC;IAED,UAAU,CAAC,IAAmB;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,iBAAiB;QACf,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ import * as arrow from 'apache-arrow';
2
+ export declare function getVectorLength(vector: arrow.Vector | null): number;
3
+ export declare function getVectorValue(vector: arrow.Vector | null, index: number): unknown;
4
+ export declare function getColumnVector(table: arrow.Table, columnName: string): arrow.Vector | null;
5
+ export declare function parseDataRecord(value: unknown): Record<string, unknown>;
6
+ export declare function coerceIdentifier(value: unknown): string | number;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrow-utils.d.ts","sourceRoot":"","sources":["../../../src/graph/functions/arrow-utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,wBAAgB,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAEnE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAElF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAqB3F;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAcvE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAkBhE"}