@deck.gl-community/graph-layers 9.1.1 → 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 (354) hide show
  1. package/dist/_deprecated/old-constants.d.ts +107 -0
  2. package/dist/_deprecated/old-constants.d.ts.map +1 -0
  3. package/dist/_deprecated/old-constants.js +111 -0
  4. package/dist/_deprecated/old-constants.js.map +1 -0
  5. package/dist/core/cache.d.ts +0 -1
  6. package/dist/core/cache.js +0 -1
  7. package/dist/core/constants.d.ts +12 -100
  8. package/dist/core/constants.d.ts.map +1 -1
  9. package/dist/core/constants.js +3 -44
  10. package/dist/core/constants.js.map +1 -1
  11. package/dist/core/graph-engine.d.ts +63 -20
  12. package/dist/core/graph-engine.d.ts.map +1 -1
  13. package/dist/core/graph-engine.js +163 -72
  14. package/dist/core/graph-engine.js.map +1 -1
  15. package/dist/core/graph-layout.d.ts +63 -32
  16. package/dist/core/graph-layout.d.ts.map +1 -1
  17. package/dist/core/graph-layout.js +118 -36
  18. package/dist/core/graph-layout.js.map +1 -1
  19. package/dist/core/interaction-manager.d.ts +7 -5
  20. package/dist/core/interaction-manager.d.ts.map +1 -1
  21. package/dist/core/interaction-manager.js +64 -20
  22. package/dist/core/interaction-manager.js.map +1 -1
  23. package/dist/graph/arrow-graph.d.ts +69 -0
  24. package/dist/graph/arrow-graph.d.ts.map +1 -0
  25. package/dist/graph/arrow-graph.js +513 -0
  26. package/dist/graph/arrow-graph.js.map +1 -0
  27. package/dist/graph/classic-graph.d.ts +169 -0
  28. package/dist/graph/classic-graph.d.ts.map +1 -0
  29. package/dist/graph/classic-graph.js +390 -0
  30. package/dist/graph/classic-graph.js.map +1 -0
  31. package/dist/graph/edge.d.ts +12 -12
  32. package/dist/graph/edge.d.ts.map +1 -1
  33. package/dist/graph/edge.js +3 -6
  34. package/dist/graph/edge.js.map +1 -1
  35. package/dist/graph/functions/arrow-utils.d.ts +6 -0
  36. package/dist/graph/functions/arrow-utils.d.ts.map +1 -0
  37. package/dist/graph/functions/arrow-utils.js +67 -0
  38. package/dist/graph/functions/arrow-utils.js.map +1 -0
  39. package/dist/graph/functions/create-graph-from-data.d.ts +3 -0
  40. package/dist/graph/functions/create-graph-from-data.d.ts.map +1 -0
  41. package/dist/graph/functions/create-graph-from-data.js +12 -0
  42. package/dist/graph/functions/create-graph-from-data.js.map +1 -0
  43. package/dist/graph/graph-normalization.d.ts +10 -0
  44. package/dist/graph/graph-normalization.d.ts.map +1 -0
  45. package/dist/graph/graph-normalization.js +65 -0
  46. package/dist/graph/graph-normalization.js.map +1 -0
  47. package/dist/graph/graph.d.ts +62 -156
  48. package/dist/graph/graph.d.ts.map +1 -1
  49. package/dist/graph/graph.js +11 -301
  50. package/dist/graph/graph.js.map +1 -1
  51. package/dist/graph/node.d.ts +12 -13
  52. package/dist/graph/node.d.ts.map +1 -1
  53. package/dist/graph/node.js +5 -7
  54. package/dist/graph/node.js.map +1 -1
  55. package/dist/graph-data/arrow-graph-data-builder.d.ts +21 -0
  56. package/dist/graph-data/arrow-graph-data-builder.d.ts.map +1 -0
  57. package/dist/graph-data/arrow-graph-data-builder.js +105 -0
  58. package/dist/graph-data/arrow-graph-data-builder.js.map +1 -0
  59. package/dist/graph-data/graph-data-builder.d.ts +6 -0
  60. package/dist/graph-data/graph-data-builder.d.ts.map +1 -0
  61. package/dist/graph-data/graph-data-builder.js +1 -0
  62. package/dist/graph-data/graph-data-builder.js.map +1 -0
  63. package/dist/graph-data/graph-data.d.ts +40 -0
  64. package/dist/graph-data/graph-data.d.ts.map +1 -0
  65. package/dist/graph-data/graph-data.js +11 -0
  66. package/dist/graph-data/graph-data.js.map +1 -0
  67. package/dist/graph-data/plain-graph-data-builder.d.ts +20 -0
  68. package/dist/graph-data/plain-graph-data-builder.d.ts.map +1 -0
  69. package/dist/graph-data/plain-graph-data-builder.js +105 -0
  70. package/dist/graph-data/plain-graph-data-builder.js.map +1 -0
  71. package/dist/graph-style-schema.cdn.d.ts +2 -0
  72. package/dist/graph-style-schema.cdn.js +2 -0
  73. package/dist/graph-style-schema.json +12 -0
  74. package/dist/index.cjs +7851 -3250
  75. package/dist/index.cjs.map +4 -4
  76. package/dist/index.d.ts +35 -22
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +42 -25
  79. package/dist/index.js.map +1 -1
  80. package/dist/layers/common-layers/flow-path-layer/flow-path-layer-fragment.glsl.d.ts +0 -1
  81. package/dist/layers/common-layers/flow-path-layer/flow-path-layer-fragment.glsl.js +0 -1
  82. package/dist/layers/common-layers/flow-path-layer/flow-path-layer-vertex-tf.glsl.d.ts +0 -1
  83. package/dist/layers/common-layers/flow-path-layer/flow-path-layer-vertex-tf.glsl.js +0 -1
  84. package/dist/layers/common-layers/flow-path-layer/flow-path-layer-vertex.glsl.d.ts +0 -1
  85. package/dist/layers/common-layers/flow-path-layer/flow-path-layer-vertex.glsl.js +0 -1
  86. package/dist/layers/common-layers/flow-path-layer/flow-path-layer.d.ts +0 -1
  87. package/dist/layers/common-layers/flow-path-layer/flow-path-layer.d.ts.map +1 -1
  88. package/dist/layers/common-layers/flow-path-layer/flow-path-layer.js +1 -3
  89. package/dist/layers/common-layers/flow-path-layer/flow-path-layer.js.map +1 -1
  90. package/dist/layers/common-layers/grid-layer/grid-layer.d.ts +83 -0
  91. package/dist/layers/common-layers/grid-layer/grid-layer.d.ts.map +1 -0
  92. package/dist/layers/common-layers/grid-layer/grid-layer.js +133 -0
  93. package/dist/layers/common-layers/grid-layer/grid-layer.js.map +1 -0
  94. package/dist/layers/common-layers/marker-layer/atlas-data-url.d.ts +0 -1
  95. package/dist/layers/common-layers/marker-layer/atlas-data-url.js +0 -1
  96. package/dist/layers/common-layers/marker-layer/marker-layer.d.ts +0 -1
  97. package/dist/layers/common-layers/marker-layer/marker-layer.js +2 -3
  98. package/dist/layers/common-layers/marker-layer/marker-list.d.ts +2 -63
  99. package/dist/layers/common-layers/marker-layer/marker-list.d.ts.map +1 -1
  100. package/dist/layers/common-layers/marker-layer/marker-list.js +1 -65
  101. package/dist/layers/common-layers/marker-layer/marker-list.js.map +1 -1
  102. package/dist/layers/common-layers/marker-layer/marker-mapping.d.ts +0 -1
  103. package/dist/layers/common-layers/marker-layer/marker-mapping.js +0 -1
  104. package/dist/layers/common-layers/spline-layer/spline-layer.d.ts +0 -1
  105. package/dist/layers/common-layers/spline-layer/spline-layer.js +0 -1
  106. package/dist/layers/common-layers/zoomable-text-layer/zoomable-text-layer.d.ts +0 -1
  107. package/dist/layers/common-layers/zoomable-text-layer/zoomable-text-layer.js +0 -1
  108. package/dist/layers/edge-attachment-helper.d.ts +15 -0
  109. package/dist/layers/edge-attachment-helper.d.ts.map +1 -0
  110. package/dist/layers/edge-attachment-helper.js +229 -0
  111. package/dist/layers/edge-attachment-helper.js.map +1 -0
  112. package/dist/layers/edge-layer.d.ts +1 -5
  113. package/dist/layers/edge-layer.d.ts.map +1 -1
  114. package/dist/layers/edge-layer.js +9 -11
  115. package/dist/layers/edge-layer.js.map +1 -1
  116. package/dist/layers/edge-layers/arrow-2d-geometry.d.ts +4 -0
  117. package/dist/layers/edge-layers/arrow-2d-geometry.d.ts.map +1 -0
  118. package/dist/layers/edge-layers/arrow-2d-geometry.js +42 -0
  119. package/dist/layers/edge-layers/arrow-2d-geometry.js.map +1 -0
  120. package/dist/layers/edge-layers/curved-edge-layer.d.ts +1 -2
  121. package/dist/layers/edge-layers/curved-edge-layer.js +1 -2
  122. package/dist/layers/edge-layers/edge-arrow-layer.d.ts +21 -0
  123. package/dist/layers/edge-layers/edge-arrow-layer.d.ts.map +1 -0
  124. package/dist/layers/edge-layers/edge-arrow-layer.js +131 -0
  125. package/dist/layers/edge-layers/edge-arrow-layer.js.map +1 -0
  126. package/dist/layers/edge-layers/edge-label-layer.d.ts +1 -2
  127. package/dist/layers/edge-layers/edge-label-layer.js +1 -2
  128. package/dist/layers/edge-layers/flow-layer.d.ts +1 -2
  129. package/dist/layers/edge-layers/flow-layer.js +1 -2
  130. package/dist/layers/edge-layers/path-edge-layer.d.ts +0 -1
  131. package/dist/layers/edge-layers/path-edge-layer.js +0 -1
  132. package/dist/layers/edge-layers/straight-line-edge-layer.d.ts +0 -1
  133. package/dist/layers/edge-layers/straight-line-edge-layer.js +0 -1
  134. package/dist/layers/graph-layer.d.ts +85 -29
  135. package/dist/layers/graph-layer.d.ts.map +1 -1
  136. package/dist/layers/graph-layer.js +635 -94
  137. package/dist/layers/graph-layer.js.map +1 -1
  138. package/dist/layers/node-layers/circle-layer.d.ts +0 -1
  139. package/dist/layers/node-layers/circle-layer.js +0 -1
  140. package/dist/layers/node-layers/image-layer.d.ts +0 -1
  141. package/dist/layers/node-layers/image-layer.js +0 -1
  142. package/dist/layers/node-layers/label-layer.d.ts +1 -2
  143. package/dist/layers/node-layers/label-layer.js +1 -2
  144. package/dist/layers/node-layers/path-rounded-rectangle-layer.d.ts +0 -1
  145. package/dist/layers/node-layers/path-rounded-rectangle-layer.js +1 -2
  146. package/dist/layers/node-layers/rectangle-layer.d.ts +0 -1
  147. package/dist/layers/node-layers/rectangle-layer.js +0 -1
  148. package/dist/layers/node-layers/rounded-rectangle-layer-fragment.d.ts +0 -1
  149. package/dist/layers/node-layers/rounded-rectangle-layer-fragment.js +0 -1
  150. package/dist/layers/node-layers/rounded-rectangle-layer.d.ts +1 -2
  151. package/dist/layers/node-layers/rounded-rectangle-layer.js +2 -3
  152. package/dist/layers/node-layers/zoomable-marker-layer.d.ts +1 -2
  153. package/dist/layers/node-layers/zoomable-marker-layer.js +1 -2
  154. package/dist/layouts/d3-dag/collapsable-d3-dag-layout.d.ts +24 -0
  155. package/dist/layouts/d3-dag/collapsable-d3-dag-layout.d.ts.map +1 -0
  156. package/dist/layouts/d3-dag/collapsable-d3-dag-layout.js +251 -0
  157. package/dist/layouts/d3-dag/collapsable-d3-dag-layout.js.map +1 -0
  158. package/dist/layouts/d3-dag/d3-dag-layout.d.ts +102 -0
  159. package/dist/layouts/d3-dag/d3-dag-layout.d.ts.map +1 -0
  160. package/dist/layouts/d3-dag/d3-dag-layout.js +531 -0
  161. package/dist/layouts/d3-dag/d3-dag-layout.js.map +1 -0
  162. package/dist/layouts/d3-force/d3-force-layout.d.ts +23 -11
  163. package/dist/layouts/d3-force/d3-force-layout.d.ts.map +1 -1
  164. package/dist/layouts/d3-force/d3-force-layout.js +63 -29
  165. package/dist/layouts/d3-force/d3-force-layout.js.map +1 -1
  166. package/dist/layouts/d3-force/worker.d.ts +0 -1
  167. package/dist/layouts/d3-force/worker.js +0 -1
  168. package/dist/layouts/experimental/force-multi-graph-layout.d.ts +25 -20
  169. package/dist/layouts/experimental/force-multi-graph-layout.d.ts.map +1 -1
  170. package/dist/layouts/experimental/force-multi-graph-layout.js +60 -47
  171. package/dist/layouts/experimental/force-multi-graph-layout.js.map +1 -1
  172. package/dist/layouts/experimental/hive-plot-layout.d.ts +26 -20
  173. package/dist/layouts/experimental/hive-plot-layout.d.ts.map +1 -1
  174. package/dist/layouts/experimental/hive-plot-layout.js +43 -39
  175. package/dist/layouts/experimental/hive-plot-layout.js.map +1 -1
  176. package/dist/layouts/experimental/radial-layout.d.ts +20 -12
  177. package/dist/layouts/experimental/radial-layout.d.ts.map +1 -1
  178. package/dist/layouts/experimental/radial-layout.js +41 -19
  179. package/dist/layouts/experimental/radial-layout.js.map +1 -1
  180. package/dist/layouts/gpu-force/gpu-force-layout.d.ts +15 -12
  181. package/dist/layouts/gpu-force/gpu-force-layout.d.ts.map +1 -1
  182. package/dist/layouts/gpu-force/gpu-force-layout.js +71 -59
  183. package/dist/layouts/gpu-force/gpu-force-layout.js.map +1 -1
  184. package/dist/layouts/gpu-force/worker.d.ts +0 -1
  185. package/dist/layouts/gpu-force/worker.js +0 -1
  186. package/dist/layouts/simple-layout.d.ts +21 -31
  187. package/dist/layouts/simple-layout.d.ts.map +1 -1
  188. package/dist/layouts/simple-layout.js +33 -26
  189. package/dist/layouts/simple-layout.js.map +1 -1
  190. package/dist/loaders/dot-graph-loader.d.ts +25 -0
  191. package/dist/loaders/dot-graph-loader.d.ts.map +1 -0
  192. package/dist/loaders/dot-graph-loader.js +668 -0
  193. package/dist/loaders/dot-graph-loader.js.map +1 -0
  194. package/dist/loaders/json-graph-loader.d.ts +6 -0
  195. package/dist/loaders/json-graph-loader.d.ts.map +1 -0
  196. package/dist/loaders/json-graph-loader.js +31 -0
  197. package/dist/loaders/json-graph-loader.js.map +1 -0
  198. package/dist/loaders/parsers/edge-parsers.d.ts +2 -0
  199. package/dist/loaders/parsers/edge-parsers.d.ts.map +1 -0
  200. package/dist/loaders/{edge-parsers.js → parsers/edge-parsers.js} +2 -3
  201. package/dist/loaders/parsers/edge-parsers.js.map +1 -0
  202. package/dist/loaders/parsers/node-parsers.d.ts +2 -0
  203. package/dist/loaders/parsers/node-parsers.d.ts.map +1 -0
  204. package/dist/loaders/{node-parsers.js → parsers/node-parsers.js} +2 -3
  205. package/dist/loaders/parsers/node-parsers.js.map +1 -0
  206. package/dist/loaders/parsers/parse-json-graph.d.ts +29 -0
  207. package/dist/loaders/parsers/parse-json-graph.d.ts.map +1 -0
  208. package/dist/loaders/parsers/parse-json-graph.js +78 -0
  209. package/dist/loaders/parsers/parse-json-graph.js.map +1 -0
  210. package/dist/style/graph-layer-stylesheet.d.ts +34 -0
  211. package/dist/style/graph-layer-stylesheet.d.ts.map +1 -0
  212. package/dist/style/graph-layer-stylesheet.js +39 -0
  213. package/dist/style/graph-layer-stylesheet.js.map +1 -0
  214. package/dist/style/graph-style-accessor-map.d.ts +93 -0
  215. package/dist/style/graph-style-accessor-map.d.ts.map +1 -0
  216. package/dist/style/graph-style-accessor-map.js +93 -0
  217. package/dist/style/graph-style-accessor-map.js.map +1 -0
  218. package/dist/style/graph-style-engine.d.ts +12 -0
  219. package/dist/style/graph-style-engine.d.ts.map +1 -0
  220. package/dist/style/graph-style-engine.js +164 -0
  221. package/dist/style/graph-style-engine.js.map +1 -0
  222. package/dist/style/graph-stylesheet.schema.d.ts +310 -0
  223. package/dist/style/graph-stylesheet.schema.d.ts.map +1 -0
  224. package/dist/style/graph-stylesheet.schema.js +237 -0
  225. package/dist/style/graph-stylesheet.schema.js.map +1 -0
  226. package/dist/style/style-property.d.ts +2 -3
  227. package/dist/style/style-property.d.ts.map +1 -1
  228. package/dist/style/style-property.js +224 -48
  229. package/dist/style/style-property.js.map +1 -1
  230. package/dist/style/stylesheet-engine.d.ts +33 -0
  231. package/dist/style/stylesheet-engine.d.ts.map +1 -0
  232. package/dist/style/stylesheet-engine.js +121 -0
  233. package/dist/style/stylesheet-engine.js.map +1 -0
  234. package/dist/utils/collapsed-chains.d.ts +17 -0
  235. package/dist/utils/collapsed-chains.d.ts.map +1 -0
  236. package/dist/utils/collapsed-chains.js +192 -0
  237. package/dist/utils/collapsed-chains.js.map +1 -0
  238. package/dist/utils/layer-utils.d.ts +0 -1
  239. package/dist/utils/layer-utils.d.ts.map +1 -1
  240. package/dist/utils/layer-utils.js +0 -1
  241. package/dist/utils/log.d.ts +2 -1
  242. package/dist/utils/log.d.ts.map +1 -1
  243. package/dist/utils/log.js +12 -2
  244. package/dist/utils/log.js.map +1 -1
  245. package/dist/utils/node-boundary.d.ts +10 -0
  246. package/dist/utils/node-boundary.d.ts.map +1 -0
  247. package/dist/utils/node-boundary.js +130 -0
  248. package/dist/utils/node-boundary.js.map +1 -0
  249. package/dist/utils/polygon-calculations.d.ts +0 -1
  250. package/dist/utils/polygon-calculations.js +0 -1
  251. package/dist/utils/rank-grid.d.ts +30 -0
  252. package/dist/utils/rank-grid.d.ts.map +1 -0
  253. package/dist/utils/rank-grid.js +306 -0
  254. package/dist/utils/rank-grid.js.map +1 -0
  255. package/package.json +25 -13
  256. package/src/_deprecated/old-constants.ts +122 -0
  257. package/src/_disabled/arrow-graph-data.ts.disabled +18 -0
  258. package/src/_disabled/columnar-graph-data-builder.ts.disabled +250 -0
  259. package/src/_disabled/graph-runtime-layout.ts.disabled +29 -0
  260. package/src/core/constants.ts +21 -43
  261. package/src/core/graph-engine.ts +212 -80
  262. package/src/core/graph-layout.ts +175 -47
  263. package/src/core/interaction-manager.ts +93 -33
  264. package/src/graph/arrow-graph.ts +648 -0
  265. package/src/graph/classic-graph.ts +447 -0
  266. package/src/graph/edge.ts +13 -13
  267. package/src/graph/functions/arrow-utils.ts +72 -0
  268. package/src/graph/functions/convert-arrow-graph-to-classic-graph.ts.disabled +47 -0
  269. package/src/graph/functions/convert-plain-graph-to-arrow-graph.ts.disabled +119 -0
  270. package/src/graph/functions/create-graph-from-data.ts +16 -0
  271. package/src/graph/functions/create-plain-graph-from-data.ts.disabled +176 -0
  272. package/src/graph/graph-normalization.ts +87 -0
  273. package/src/graph/graph.ts +68 -339
  274. package/src/graph/node.ts +15 -15
  275. package/src/graph/tabular-graph.ts.disabled +761 -0
  276. package/src/graph-data/arrow-graph-data-builder.ts +165 -0
  277. package/src/graph-data/graph-data-builder.ts +7 -0
  278. package/src/graph-data/graph-data.ts +57 -0
  279. package/src/graph-data/plain-graph-data-builder.ts +132 -0
  280. package/src/index.ts +82 -17
  281. package/src/layers/common-layers/flow-path-layer/flow-path-layer.ts +1 -2
  282. package/src/layers/common-layers/grid-layer/grid-layer.ts +237 -0
  283. package/src/layers/common-layers/marker-layer/marker-list.ts +62 -64
  284. package/src/layers/edge-attachment-helper.ts +361 -0
  285. package/src/layers/edge-layer.ts +6 -7
  286. package/src/layers/edge-layers/arrow-2d-geometry.ts +51 -0
  287. package/src/layers/edge-layers/edge-arrow-layer.ts +171 -0
  288. package/src/layers/graph-layer.ts +928 -130
  289. package/src/layouts/d3-dag/collapsable-d3-dag-layout.ts +330 -0
  290. package/src/layouts/d3-dag/d3-dag-layout.ts +739 -0
  291. package/src/layouts/d3-force/d3-force-layout.ts +83 -39
  292. package/src/layouts/experimental/force-multi-graph-layout.ts +72 -57
  293. package/src/layouts/experimental/hive-plot-layout.ts +60 -49
  294. package/src/layouts/experimental/radial-layout.ts +57 -26
  295. package/src/layouts/gpu-force/gpu-force-layout.ts +86 -72
  296. package/src/layouts/simple-layout.ts +51 -52
  297. package/src/loaders/{create-graph.ts → deprecated/create-graph.ts.disabled} +6 -6
  298. package/src/loaders/deprecated/json-classic-graph-loader.ts.disabled +33 -0
  299. package/src/loaders/{simple-json-graph-loader.ts → deprecated/simple-json-graph-loader.ts.disabled} +4 -4
  300. package/src/loaders/{table-graph-loader.ts → deprecated/table-graph-loader.ts.disabled} +9 -9
  301. package/src/loaders/dot-graph-loader.ts +860 -0
  302. package/src/loaders/json-graph-loader.ts +48 -0
  303. package/src/loaders/parsers/create-graph-data.ts.disabled +45 -0
  304. package/src/loaders/{edge-parsers.ts → parsers/edge-parsers.ts} +3 -3
  305. package/src/loaders/{node-parsers.ts → parsers/node-parsers.ts} +3 -3
  306. package/src/loaders/parsers/parse-json-graph.ts +134 -0
  307. package/src/style/graph-layer-stylesheet.ts +99 -0
  308. package/src/style/graph-style-accessor-map.ts +103 -0
  309. package/src/style/graph-style-engine.ts +232 -0
  310. package/src/style/graph-stylesheet.schema.ts +344 -0
  311. package/src/style/style-property.ts +314 -51
  312. package/src/style/stylesheet-engine.ts +168 -0
  313. package/src/utils/collapsed-chains.ts +255 -0
  314. package/src/utils/log.ts +15 -1
  315. package/src/utils/node-boundary.ts +238 -0
  316. package/src/utils/rank-grid.ts +426 -0
  317. package/dist/loaders/create-graph.d.ts +0 -13
  318. package/dist/loaders/create-graph.d.ts.map +0 -1
  319. package/dist/loaders/create-graph.js +0 -39
  320. package/dist/loaders/create-graph.js.map +0 -1
  321. package/dist/loaders/edge-parsers.d.ts +0 -3
  322. package/dist/loaders/edge-parsers.d.ts.map +0 -1
  323. package/dist/loaders/edge-parsers.js.map +0 -1
  324. package/dist/loaders/json-loader.d.ts +0 -8
  325. package/dist/loaders/json-loader.d.ts.map +0 -1
  326. package/dist/loaders/json-loader.js +0 -17
  327. package/dist/loaders/json-loader.js.map +0 -1
  328. package/dist/loaders/node-parsers.d.ts +0 -3
  329. package/dist/loaders/node-parsers.d.ts.map +0 -1
  330. package/dist/loaders/node-parsers.js.map +0 -1
  331. package/dist/loaders/simple-json-graph-loader.d.ts +0 -12
  332. package/dist/loaders/simple-json-graph-loader.d.ts.map +0 -1
  333. package/dist/loaders/simple-json-graph-loader.js +0 -21
  334. package/dist/loaders/simple-json-graph-loader.js.map +0 -1
  335. package/dist/loaders/table-graph-loader.d.ts +0 -17
  336. package/dist/loaders/table-graph-loader.d.ts.map +0 -1
  337. package/dist/loaders/table-graph-loader.js +0 -92
  338. package/dist/loaders/table-graph-loader.js.map +0 -1
  339. package/dist/style/style-sheet.d.ts +0 -11
  340. package/dist/style/style-sheet.d.ts.map +0 -1
  341. package/dist/style/style-sheet.js +0 -253
  342. package/dist/style/style-sheet.js.map +0 -1
  343. package/dist/widgets/long-press-button.d.ts +0 -13
  344. package/dist/widgets/long-press-button.d.ts.map +0 -1
  345. package/dist/widgets/long-press-button.js +0 -32
  346. package/dist/widgets/long-press-button.js.map +0 -1
  347. package/dist/widgets/view-control-widget.d.ts +0 -78
  348. package/dist/widgets/view-control-widget.d.ts.map +0 -1
  349. package/dist/widgets/view-control-widget.js +0 -195
  350. package/dist/widgets/view-control-widget.js.map +0 -1
  351. package/src/loaders/json-loader.ts +0 -19
  352. package/src/style/style-sheet.ts +0 -277
  353. package/src/widgets/long-press-button.tsx +0 -50
  354. package/src/widgets/view-control-widget.tsx +0 -337
@@ -1,309 +1,19 @@
1
1
  // deck.gl-community
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { log } from "../utils/log.js";
5
- import { Cache } from "../core/cache.js";
6
- /** Basic graph data structure */
7
- export class Graph extends EventTarget {
8
- /** List object of nodes. */
9
- _nodeMap = {};
10
- /** List of object edges. */
11
- _edgeMap = {};
12
- /**
13
- * Identifies whether performing dirty check when streaming new data. If
14
- * the name of the graph is not specified, will fall back to current time stamp.
15
- */
16
- _name = Date.now().toString();
17
- /** Version the graph. A version is a number that is incremented every time the graph is updated. */
18
- version = 0;
19
- /** Cached data: create array data from maps. */
20
- _cache = new Cache();
21
- /**
22
- * The constructor of the Graph class.
23
- * @param graph - copy the graph if this exists.
24
- */
25
- constructor(propsOrGraph) {
26
- super();
27
- if (propsOrGraph instanceof Graph) {
28
- // if a Graph instance was supplied, copy the supplied graph into this graph
29
- const graph = propsOrGraph;
30
- this._name = graph?._name || this._name;
31
- this._nodeMap = graph._nodeMap;
32
- this._edgeMap = graph._edgeMap;
33
- }
34
- else {
35
- // If graphProps were supplied, initialize this graph from the supplied props
36
- const props = propsOrGraph;
37
- this._name = props?.name || this._name;
38
- this.batchAddNodes(props?.nodes || []);
39
- this.batchAddEdges(props?.edges || []);
40
- }
4
+ /** Runtime abstraction consumed by the rendering engine. */
5
+ export class Graph {
6
+ _props;
7
+ constructor(props) {
8
+ this._props = { ...props };
41
9
  }
42
- /**
43
- * Set graph name
44
- * @param name
45
- */
46
- setGraphName(name) {
47
- this._name = name;
10
+ get props() {
11
+ return { ...this._props };
48
12
  }
49
- /** Get the name of the graph. Default value is the time stamp when creating this graph.
50
- * @return graph name.
51
- */
52
- getGraphName() {
53
- return this._name.toString();
13
+ setProps(props) {
14
+ this._props = { ...props };
54
15
  }
55
- /**
56
- * Perform a batch of operations defined by cb before indicating graph is updated
57
- * @param {function} cb - a callback function containing the operations to perform
58
- */
59
- transaction(cb) {
60
- try {
61
- this.dispatchEvent(new CustomEvent('transactionStart'));
62
- return cb();
63
- }
64
- finally {
65
- this.dispatchEvent(new CustomEvent('transactionEnd'));
66
- }
67
- }
68
- /**
69
- * Add a new node to the graph.
70
- * @paramnode - expect a Node object to be added to the graph.
71
- */
72
- addNode(node) {
73
- // add it to the list and map
74
- this._nodeMap[node.getId()] = node;
75
- // update last update time stamp
76
- this._bumpVersion();
77
- this.dispatchEvent(new CustomEvent('onNodeAdded', { node }));
78
- }
79
- /**
80
- * Batch add nodes to the graph.
81
- * @param nodes - a list of nodes to be added.
82
- */
83
- batchAddNodes(nodes) {
84
- // convert an array of objects to an object
85
- this._nodeMap = nodes.reduce((res, node) => {
86
- res[node.getId()] = node;
87
- this.dispatchEvent(new CustomEvent('onNodeAdded', { node }));
88
- return res;
89
- }, { ...this._nodeMap });
90
- this._bumpVersion();
91
- }
92
- /**
93
- * Get all the nodes of the graph.
94
- * @return {Node[]} - get all the nodes in the graph.
95
- */
96
- getNodes() {
97
- this._updateCache('nodes', () => Object.values(this._nodeMap));
98
- return this._cache.get('nodes');
99
- }
100
- /**
101
- * Get the node map of the graph. The key of the map is the ID of the nodes.
102
- * @return - a map of nodes keyed by node IDs.
103
- */
104
- getNodeMap() {
105
- return this._nodeMap;
106
- }
107
- /**
108
- * Find a node by id
109
- * @param nodeId The id of the node
110
- * @return Node
111
- */
112
- findNode(nodeId) {
113
- return this._nodeMap[nodeId];
114
- }
115
- /**
116
- * Update the indicated node to the provided value
117
- * @param node
118
- */
119
- updateNode(node) {
120
- this._nodeMap[node.getId()] = node;
121
- this._bumpVersion();
122
- this.dispatchEvent(new CustomEvent('onNodeUpdated', { node }));
123
- }
124
- /**
125
- * Add a new edge to the graph.
126
- * @param edge - expect a Edge object to be added to the graph.
127
- */
128
- addEdge(edge) {
129
- const sourceNode = this.findNode(edge.getSourceNodeId());
130
- const targetNode = this.findNode(edge.getTargetNodeId());
131
- if (!sourceNode || !targetNode) {
132
- log.warn(`Unable to add edge ${edge.id}, source or target node is missing.`)();
133
- return;
134
- }
135
- this._edgeMap[edge.getId()] = edge;
136
- sourceNode.addConnectedEdges(edge);
137
- targetNode.addConnectedEdges(edge);
138
- this._bumpVersion();
139
- this.dispatchEvent(new CustomEvent('onEdgeAdded', { edge }));
140
- }
141
- /**
142
- * Batch add edges to the graph
143
- * @param edges - a list of edges to be added.
144
- */
145
- batchAddEdges(edges) {
146
- edges.forEach((edge) => this.addEdge(edge));
147
- this._bumpVersion();
148
- }
149
- /**
150
- * Update the indicated edge to the provided value
151
- * @param edge
152
- */
153
- updateEdge(edge) {
154
- this._edgeMap[edge.getId()] = edge;
155
- this._bumpVersion();
156
- this.dispatchEvent(new CustomEvent('onEdgeUpdated', { edge }));
157
- }
158
- /**
159
- * Remove a node from the graph by node ID
160
- * @param nodeId - the ID of the target node.
161
- */
162
- removeNode(nodeId) {
163
- const node = this.findNode(nodeId);
164
- if (!node) {
165
- log.warn(`Unable to remove node ${nodeId} - doesn't exist`)();
166
- return;
167
- }
168
- // remove all edges connect to this node from map
169
- node.getConnectedEdges().forEach((e) => {
170
- delete this._edgeMap[e.getId()];
171
- });
172
- // remove the node from map
173
- delete this._nodeMap[nodeId];
174
- this._bumpVersion();
175
- this.dispatchEvent(new CustomEvent('onNodeRemoved', { node }));
176
- }
177
- /**
178
- * Get all the edges of the graph.
179
- * @return get all the edges in the graph.
180
- */
181
- getEdges() {
182
- this._updateCache('edges', () => Object.values(this._edgeMap));
183
- return this._cache.get('edges');
184
- }
185
- /**
186
- * Get the edge map of the graph. The key of the map is the ID of the edges.
187
- * @return - a map of edges keyed by edge IDs.
188
- */
189
- getEdgeMap() {
190
- return this._edgeMap;
191
- }
192
- /**
193
- * Remove an edge from the graph by the edge ID
194
- * @param {String|Number} edgeId - the target edge ID.
195
- */
196
- removeEdge(edgeId) {
197
- const edge = this.findEdge(edgeId);
198
- if (!edge) {
199
- log.warn(`Unable to remove edge ${edgeId} - doesn't exist`)();
200
- return;
201
- }
202
- const sourceNode = this.findNode(edge.getSourceNodeId());
203
- const targetNode = this.findNode(edge.getTargetNodeId());
204
- delete this._edgeMap[edgeId];
205
- sourceNode.removeConnectedEdges(edge);
206
- targetNode.removeConnectedEdges(edge);
207
- this._bumpVersion();
208
- }
209
- /**
210
- * Find the edge by edge ID.
211
- * @param id - the target edge ID
212
- * @return - the target edge.
213
- */
214
- findEdge(edgeId) {
215
- return this._edgeMap[edgeId];
216
- }
217
- /**
218
- * Return all the connected edges of a node by nodeID.
219
- * @param nodeId - the target node ID
220
- * @return - an array of the connected edges.
221
- */
222
- getConnectedEdges(nodeId) {
223
- const node = this.findNode(nodeId);
224
- if (!node) {
225
- log.warn(`Unable to find node ${nodeId} - doesn't exist`)();
226
- return [];
227
- }
228
- return node.getConnectedEdges();
229
- }
230
- /**
231
- * Return all the sibling nodes of a node by nodeID.
232
- * @param nodeId - the target node ID
233
- * @return - an array of the sibling nodes.
234
- */
235
- getNodeSiblings(nodeId) {
236
- const node = this.findNode(nodeId);
237
- if (!node) {
238
- log.warn(`Unable to find node ${nodeId} - doesn't exist`)();
239
- return [];
240
- }
241
- return node.getSiblingIds().map((siblingNodeId) => this.findNode(siblingNodeId));
242
- }
243
- /**
244
- * Get the degree of a node.
245
- * @param nodeId - the target node ID.
246
- * @return - the degree of the node.
247
- */
248
- getDegree(nodeId) {
249
- const node = this.findNode(nodeId);
250
- if (!node) {
251
- log.warn(`Unable to find node ${nodeId} - doesn't exist`)();
252
- return 0;
253
- }
254
- return node.getDegree();
255
- }
256
- /**
257
- * Clean up all the nodes in the graph.
258
- */
259
- resetNodes() {
260
- this._nodeMap = {};
261
- this._bumpVersion();
262
- }
263
- /**
264
- * Clean up all the edges in the graph.
265
- */
266
- resetEdges() {
267
- this._edgeMap = {};
268
- this._bumpVersion();
269
- }
270
- /**
271
- * Clean up everything in the graph.
272
- */
273
- reset() {
274
- this.resetNodes();
275
- this.resetEdges();
276
- this._bumpVersion();
277
- }
278
- /**
279
- * Trigger an update to the graph.
280
- */
281
- triggerUpdate() {
282
- this._bumpVersion();
283
- }
284
- /**
285
- * Return true if the graph is empty.
286
- * @return {Boolean} Return true if the graph is empty.
287
- */
288
- isEmpty() {
289
- return Object.keys(this._nodeMap).length === 0;
290
- }
291
- /**
292
- * Check the equality of two graphs data by checking last update time stamp
293
- * @param graph Another graph to be compared against itself
294
- * @return true if the graph is the same as itself.
295
- */
296
- equals(graph) {
297
- if (!graph || !(graph instanceof Graph)) {
298
- return false;
299
- }
300
- return this.version === graph.version;
301
- }
302
- _bumpVersion() {
303
- this.version += 1;
304
- }
305
- _updateCache(key, updateValue) {
306
- this._cache.set(key, updateValue, this.version);
16
+ updateProps(props) {
17
+ this._props = { ...this._props, ...props };
307
18
  }
308
19
  }
309
- //# sourceMappingURL=graph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/graph/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/graph/graph.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,+BAA+B;AAC/B,oCAAoC;AAuDpC,4DAA4D;AAC5D,MAAM,OAAgB,KAAK;IACjB,MAAM,CAAS;IAEvB,YAAsB,KAAa;QACjC,IAAI,CAAC,MAAM,GAAG,EAAC,GAAG,KAAK,EAAC,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,EAAC,GAAG,IAAI,CAAC,MAAM,EAAC,CAAC;IAC1B,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,MAAM,GAAG,EAAC,GAAG,KAAK,EAAC,CAAC;IAC3B,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC,MAAM,GAAG,EAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,EAAC,CAAC;IAC3C,CAAC;CAUF"}
@@ -1,5 +1,5 @@
1
- import { NODE_STATE, ValueOf } from "../core/constants.js";
2
- import { Edge } from "./edge.js";
1
+ import type { NodeState } from '../core/constants';
2
+ import type { EdgeInterface, NodeInterface } from './graph';
3
3
  /** Properties for creating a new node */
4
4
  export interface NodeOptions {
5
5
  /** the unique ID of the node */
@@ -9,14 +9,14 @@ export interface NodeOptions {
9
9
  data?: Record<string, unknown>;
10
10
  }
11
11
  /** Basic data structure of a node */
12
- export declare class Node {
13
- id: string | number;
12
+ export declare class Node implements NodeInterface {
13
+ readonly id: string | number;
14
14
  /** Keep a reference to origin data. */
15
15
  private _data;
16
16
  /** List edges. */
17
17
  private _connectedEdges;
18
18
  /** Interaction state of the node. */
19
- state: ValueOf<typeof NODE_STATE>;
19
+ state: NodeState;
20
20
  /** Can the node be selected? */
21
21
  private _selectable;
22
22
  /** Should the state of this node affect the state of the connected edges? */
@@ -56,7 +56,7 @@ export declare class Node {
56
56
  * Return all the connected edges.
57
57
  * @return - an array of the connected edges.
58
58
  */
59
- getConnectedEdges(): Edge[];
59
+ getConnectedEdges(): EdgeInterface[];
60
60
  /**
61
61
  * Return of the value of the selected property key.
62
62
  * @param key - property key.
@@ -76,24 +76,24 @@ export declare class Node {
76
76
  setDataProperty(key: string, value: unknown): void;
77
77
  /**
78
78
  * Set node state
79
- * @param state - one of NODE_STATE
79
+ * @param state - the new interaction state of the node
80
80
  */
81
- setState(state: ValueOf<typeof NODE_STATE>): void;
81
+ setState(state: NodeState): void;
82
82
  /**
83
83
  * Get node state
84
- * @returns state - one of NODE_STATE
84
+ * @returns state - the current interaction state of the node
85
85
  */
86
- getState(): ValueOf<typeof NODE_STATE>;
86
+ getState(): NodeState;
87
87
  /**
88
88
  * Add connected edges to the node
89
89
  * @param edge an edge or an array of edges to be added to this._connectedEdges
90
90
  */
91
- addConnectedEdges(edge: Edge | Edge[]): void;
91
+ addConnectedEdges(edge: EdgeInterface | EdgeInterface[]): void;
92
92
  /**
93
93
  * Remove edges from this._connectedEdges
94
94
  * @param edge an edge or an array of edges to be removed from this._connectedEdges
95
95
  */
96
- removeConnectedEdges(edge: Edge | Edge[]): void;
96
+ removeConnectedEdges(edge: EdgeInterface | EdgeInterface[]): void;
97
97
  /**
98
98
  * Clear this._connectedEdges
99
99
  */
@@ -101,4 +101,3 @@ export declare class Node {
101
101
  isSelectable(): boolean;
102
102
  shouldHighlightConnectedEdges(): boolean;
103
103
  }
104
- //# sourceMappingURL=node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/graph/node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAE,OAAO,EAAC,6BAA0B;AACtD,OAAO,EAAC,IAAI,EAAC,kBAAe;AAE5B,yCAAyC;AACzC,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,qCAAqC;AACrC,qBAAa,IAAI;IACR,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,uCAAuC;IACvC,OAAO,CAAC,KAAK,CAA0B;IACvC,kBAAkB;IAClB,OAAO,CAAC,eAAe,CAA4B;IACnD,qCAAqC;IAC9B,KAAK,EAAE,OAAO,CAAC,OAAO,UAAU,CAAC,CAAsB;IAC9D,gCAAgC;IAChC,OAAO,CAAC,WAAW,CAAU;IAC7B,6EAA6E;IAC7E,OAAO,CAAC,wBAAwB,CAAU;IAC1C,gEAAgE;IAChE,SAAgB,MAAM,QAAQ;IAC9B;;OAEG;gBACS,EAAC,EAAE,EAAE,UAAkB,EAAE,uBAA+B,EAAE,IAAS,EAAC,EAAE,WAAW;IAO7F;;;OAGG;IACH,KAAK,IAAI,MAAM,GAAG,MAAM;IAIxB;;;OAGG;IACH,SAAS,IAAI,MAAM;IAInB;;;OAGG;IACH,WAAW,IAAI,MAAM;IAWrB;;;OAGG;IACH,YAAY,IAAI,MAAM;IAWtB;;;OAGG;IACH,aAAa,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;IAepC;;;OAGG;IACH,iBAAiB,IAAI,IAAI,EAAE;IAI3B;;;;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,OAAO,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI;IAIjD;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC,OAAO,UAAU,CAAC;IAItC;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI;IAQ5C;;;OAGG;IACH,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI;IAQ/C;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAK3B,YAAY,IAAI,OAAO;IAIvB,6BAA6B,IAAI,OAAO;CAGzC"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/graph/node.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,SAAS,EAAC,6BAA0B;AACjD,OAAO,KAAK,EAAC,aAAa,EAAE,aAAa,EAAC,mBAAgB;AAE1D,yCAAyC;AACzC,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,qCAAqC;AACrC,qBAAa,IAAK,YAAW,aAAa;IACxC,SAAgB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,uCAAuC;IACvC,OAAO,CAAC,KAAK,CAA0B;IACvC,kBAAkB;IAClB,OAAO,CAAC,eAAe,CAAqC;IAC5D,qCAAqC;IAC9B,KAAK,EAAE,SAAS,CAAa;IACpC,gCAAgC;IAChC,OAAO,CAAC,WAAW,CAAU;IAC7B,6EAA6E;IAC7E,OAAO,CAAC,wBAAwB,CAAU;IAC1C,gEAAgE;IAChE,SAAgB,MAAM,QAAQ;IAC9B;;OAEG;gBACS,EAAC,EAAE,EAAE,UAAkB,EAAE,uBAA+B,EAAE,IAAS,EAAC,EAAE,WAAW;IAO7F;;;OAGG;IACH,KAAK,IAAI,MAAM,GAAG,MAAM;IAIxB;;;OAGG;IACH,SAAS,IAAI,MAAM;IAInB;;;OAGG;IACH,WAAW,IAAI,MAAM;IAWrB;;;OAGG;IACH,YAAY,IAAI,MAAM;IAWtB;;;OAGG;IACH,aAAa,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;IAepC;;;OAGG;IACH,iBAAiB,IAAI,aAAa,EAAE;IAIpC;;;;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;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,EAAE,GAAG,IAAI;IAQ9D;;;OAGG;IACH,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,EAAE,GAAG,IAAI;IAQjE;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAK3B,YAAY,IAAI,OAAO;IAIvB,6BAA6B,IAAI,OAAO;CAGzC"}
@@ -1,7 +1,6 @@
1
1
  // deck.gl-community
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { NODE_STATE } from "../core/constants.js";
5
4
  /** Basic data structure of a node */
6
5
  export class Node {
7
6
  id;
@@ -10,7 +9,7 @@ export class Node {
10
9
  /** List edges. */
11
10
  _connectedEdges = {};
12
11
  /** Interaction state of the node. */
13
- state = NODE_STATE.DEFAULT;
12
+ state = 'default';
14
13
  /** Can the node be selected? */
15
14
  _selectable;
16
15
  /** Should the state of this node affect the state of the connected edges? */
@@ -125,14 +124,14 @@ export class Node {
125
124
  }
126
125
  /**
127
126
  * Set node state
128
- * @param state - one of NODE_STATE
127
+ * @param state - the new interaction state of the node
129
128
  */
130
129
  setState(state) {
131
130
  this.state = state;
132
131
  }
133
132
  /**
134
133
  * Get node state
135
- * @returns state - one of NODE_STATE
134
+ * @returns state - the current interaction state of the node
136
135
  */
137
136
  getState() {
138
137
  return this.state;
@@ -144,7 +143,7 @@ export class Node {
144
143
  addConnectedEdges(edge) {
145
144
  const iterableEdges = Array.isArray(edge) ? edge : [edge];
146
145
  iterableEdges.forEach((e) => {
147
- this._connectedEdges[e.id] = e;
146
+ this._connectedEdges[e.getId()] = e;
148
147
  e.addNode(this);
149
148
  });
150
149
  }
@@ -156,7 +155,7 @@ export class Node {
156
155
  const iterableEdges = Array.isArray(edge) ? edge : [edge];
157
156
  iterableEdges.forEach((e) => {
158
157
  e.removeNode(this);
159
- delete this._connectedEdges[e.id];
158
+ delete this._connectedEdges[e.getId()];
160
159
  });
161
160
  }
162
161
  /**
@@ -173,4 +172,3 @@ export class Node {
173
172
  return this._highlightConnectedEdges;
174
173
  }
175
174
  }
176
- //# sourceMappingURL=node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/graph/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/graph/node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { GraphEdgeData, GraphNodeData, ArrowGraphData } from './graph-data';
2
+ export type ArrowGraphDataBuilderOptions = {
3
+ version?: number;
4
+ };
5
+ export declare class ArrowGraphDataBuilder {
6
+ private readonly nodeBuilders;
7
+ private readonly edgeBuilders;
8
+ private nodeLength;
9
+ private edgeLength;
10
+ private _version;
11
+ constructor(options?: ArrowGraphDataBuilderOptions);
12
+ get version(): number;
13
+ setVersion(version: unknown): void;
14
+ addNode(node: GraphNodeData): number;
15
+ addEdge(edge: GraphEdgeData): number;
16
+ finish(): ArrowGraphData;
17
+ private appendUtf8;
18
+ private appendBoolean;
19
+ private appendJson;
20
+ private getOrCreateBuilder;
21
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrow-graph-data-builder.d.ts","sourceRoot":"","sources":["../../src/graph-data/arrow-graph-data-builder.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,aAAa,EAAE,aAAa,EAAC,cAAc,EAAC,wBAAqB;AAa9E,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA+B;IAC5D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA+B;IAE5D,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAAK;IAEvB,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,GAAE,4BAAiC;IAItD,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM;IA8BpC,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM;IAiCpC,MAAM,IAAI,cAAc;IASxB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,kBAAkB;CAY3B"}
@@ -0,0 +1,105 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ // eslint-disable-next-line import/no-unresolved
5
+ import * as arrow from 'apache-arrow';
6
+ import { cloneRecord, normalizeEdgeState, normalizeNodeState, normalizeVersion } from '../graph/graph-normalization';
7
+ export class ArrowGraphDataBuilder {
8
+ nodeBuilders = new Map();
9
+ edgeBuilders = new Map();
10
+ nodeLength = 0;
11
+ edgeLength = 0;
12
+ _version;
13
+ constructor(options = {}) {
14
+ this._version = normalizeVersion(options.version);
15
+ }
16
+ get version() {
17
+ return this._version;
18
+ }
19
+ setVersion(version) {
20
+ this._version = normalizeVersion(version);
21
+ }
22
+ addNode(node) {
23
+ if (typeof node?.id === 'undefined') {
24
+ throw new Error('Graph node requires an "id" field.');
25
+ }
26
+ const index = this.nodeLength++;
27
+ const attributes = cloneRecord(node.attributes);
28
+ if (typeof node.label !== 'undefined') {
29
+ attributes.label = node.label;
30
+ }
31
+ if (typeof node.weight !== 'undefined') {
32
+ attributes.weight = node.weight;
33
+ }
34
+ const stateCandidate = node.state ?? attributes.state;
35
+ const selectableCandidate = node.selectable ?? attributes.selectable;
36
+ const highlightCandidate = node.highlightConnectedEdges ?? attributes.highlightConnectedEdges;
37
+ this.appendUtf8(this.nodeBuilders, 'id', node.id);
38
+ this.appendUtf8(this.nodeBuilders, 'state', normalizeNodeState(stateCandidate));
39
+ this.appendBoolean(this.nodeBuilders, 'selectable', Boolean(selectableCandidate));
40
+ this.appendBoolean(this.nodeBuilders, 'highlightConnectedEdges', Boolean(highlightCandidate));
41
+ this.appendJson(this.nodeBuilders, 'data', attributes);
42
+ return index;
43
+ }
44
+ addEdge(edge) {
45
+ if (typeof edge?.id === 'undefined' ||
46
+ typeof edge?.sourceId === 'undefined' ||
47
+ typeof edge?.targetId === 'undefined') {
48
+ throw new Error('Graph edge requires "id", "sourceId", and "targetId" fields.');
49
+ }
50
+ const index = this.edgeLength++;
51
+ const attributes = cloneRecord(edge.attributes);
52
+ if (typeof edge.label !== 'undefined') {
53
+ attributes.label = edge.label;
54
+ }
55
+ if (typeof edge.weight !== 'undefined') {
56
+ attributes.weight = edge.weight;
57
+ }
58
+ const stateCandidate = edge.state ?? attributes.state;
59
+ const directedCandidate = edge.directed ?? attributes.directed;
60
+ this.appendUtf8(this.edgeBuilders, 'id', edge.id);
61
+ this.appendUtf8(this.edgeBuilders, 'sourceId', edge.sourceId);
62
+ this.appendUtf8(this.edgeBuilders, 'targetId', edge.targetId);
63
+ this.appendBoolean(this.edgeBuilders, 'directed', Boolean(directedCandidate));
64
+ this.appendUtf8(this.edgeBuilders, 'state', normalizeEdgeState(stateCandidate));
65
+ this.appendJson(this.edgeBuilders, 'data', attributes);
66
+ return index;
67
+ }
68
+ finish() {
69
+ return {
70
+ shape: 'arrow-graph-data',
71
+ version: this._version,
72
+ nodes: tableFromBuilders(this.nodeBuilders),
73
+ edges: tableFromBuilders(this.edgeBuilders)
74
+ };
75
+ }
76
+ appendUtf8(builders, columnName, value) {
77
+ const builder = this.getOrCreateBuilder(builders, columnName, () => arrow.makeBuilder({ type: new arrow.Utf8(), nullValues: [null, undefined] }));
78
+ builder.append(typeof value === 'number' ? String(value) : value);
79
+ }
80
+ appendBoolean(builders, columnName, value) {
81
+ const builder = this.getOrCreateBuilder(builders, columnName, () => arrow.makeBuilder({ type: new arrow.Bool(), nullValues: [null, undefined] }));
82
+ builder.append(value);
83
+ }
84
+ appendJson(builders, columnName, value) {
85
+ const builder = this.getOrCreateBuilder(builders, columnName, () => arrow.makeBuilder({ type: new arrow.Utf8(), nullValues: [null, undefined] }));
86
+ builder.append(JSON.stringify(value));
87
+ }
88
+ getOrCreateBuilder(builders, columnName, factory) {
89
+ let builder = builders.get(columnName);
90
+ if (!builder) {
91
+ builder = factory();
92
+ builders.set(columnName, builder);
93
+ }
94
+ return builder;
95
+ }
96
+ }
97
+ function tableFromBuilders(builders) {
98
+ const columns = {};
99
+ for (const [columnName, builder] of builders.entries()) {
100
+ builder.finish();
101
+ const vector = builder.toVector();
102
+ columns[columnName] = vector.toArray();
103
+ }
104
+ return arrow.tableFromArrays(columns);
105
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrow-graph-data-builder.js","sourceRoot":"","sources":["../../src/graph-data/arrow-graph-data-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { GraphData } from "./graph-data";
2
+ export interface GraphDataBuilder {
3
+ addNode(node: Record<string, unknown>): number;
4
+ addEdge(edge: Record<string, unknown>): number;
5
+ build(): GraphData;
6
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-data-builder.d.ts","sourceRoot":"","sources":["../../src/graph-data/graph-data-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,wBAAqB;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IAC/C,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IAC/C,KAAK,IAAI,SAAS,CAAC;CACpB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-data-builder.js","sourceRoot":"","sources":["../../src/graph-data/graph-data-builder.ts"],"names":[],"mappings":""}