@graphty/graph-io 0.3.43 → 0.3.45

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 (674) hide show
  1. package/dist/chunks/approximations-DJMHdDvv.js +40 -0
  2. package/dist/chunks/approximations-DJMHdDvv.js.map +1 -0
  3. package/dist/chunks/block-CPCHkX42.js +2777 -0
  4. package/dist/chunks/block-CPCHkX42.js.map +1 -0
  5. package/dist/chunks/{choose-DvpbdRuz.js → choose--jM0yYCo.js} +3 -2
  6. package/dist/chunks/{choose-DvpbdRuz.js.map → choose--jM0yYCo.js.map} +1 -1
  7. package/dist/chunks/{constants-fT3E8JYY.js → constants-BKwqelYD.js} +6 -2
  8. package/dist/chunks/constants-BKwqelYD.js.map +1 -0
  9. package/dist/chunks/convert-BcQ8_jMo.js +59 -0
  10. package/dist/chunks/convert-BcQ8_jMo.js.map +1 -0
  11. package/dist/chunks/emit-DZy6JgdA.js +3456 -0
  12. package/dist/chunks/emit-DZy6JgdA.js.map +1 -0
  13. package/dist/chunks/{escape-B62ZGM_a.js → escape-CgzxiYPg.js} +44 -21
  14. package/dist/chunks/escape-CgzxiYPg.js.map +1 -0
  15. package/dist/chunks/{export-rKLeGQMo.js → export-BvqAXCKh.js} +196 -792
  16. package/dist/chunks/export-BvqAXCKh.js.map +1 -0
  17. package/dist/chunks/{exporter-yLxKBvLE.js → exporter--Mk9gXCJ.js} +4 -3
  18. package/dist/chunks/{exporter-yLxKBvLE.js.map → exporter--Mk9gXCJ.js.map} +1 -1
  19. package/dist/chunks/{exporter-RVtXVetw.js → exporter-C-9cgZKa.js} +1805 -287
  20. package/dist/chunks/exporter-C-9cgZKa.js.map +1 -0
  21. package/dist/chunks/{exporter-8hLNemFk.js → exporter-DFqJhBnj.js} +133 -74
  22. package/dist/chunks/exporter-DFqJhBnj.js.map +1 -0
  23. package/dist/chunks/{exporter-BWwEuOPT.js → exporter-DteVeJki.js} +22 -12
  24. package/dist/chunks/exporter-DteVeJki.js.map +1 -0
  25. package/dist/chunks/format-BpQBx8MZ.js +676 -0
  26. package/dist/chunks/format-BpQBx8MZ.js.map +1 -0
  27. package/dist/chunks/generic-BGO71QBv.js +1347 -0
  28. package/dist/chunks/generic-BGO71QBv.js.map +1 -0
  29. package/dist/chunks/{importer-C98dpSH4.js → importer-B-9Rc1zO.js} +141 -82
  30. package/dist/chunks/importer-B-9Rc1zO.js.map +1 -0
  31. package/dist/chunks/{importer-D794XUTe.js → importer-BVVR740x.js} +31 -8
  32. package/dist/chunks/importer-BVVR740x.js.map +1 -0
  33. package/dist/chunks/{importer-WrGRZb0N.js → importer-C0AjA3Ax.js} +449 -102
  34. package/dist/chunks/importer-C0AjA3Ax.js.map +1 -0
  35. package/dist/chunks/{importer-BbNb7eNg.js → importer-C7pvJe1L.js} +1398 -129
  36. package/dist/chunks/importer-C7pvJe1L.js.map +1 -0
  37. package/dist/chunks/{importer-xZ-3suY1.js → importer-ClwoVx3O.js} +791 -135
  38. package/dist/chunks/importer-ClwoVx3O.js.map +1 -0
  39. package/dist/chunks/{importer-Ht7LNg8L.js → importer-D0sC_6bO.js} +116 -296
  40. package/dist/chunks/importer-D0sC_6bO.js.map +1 -0
  41. package/dist/chunks/{importer-Dz7tI8Sa.js → importer-EHQk1jbM.js} +617 -115
  42. package/dist/chunks/importer-EHQk1jbM.js.map +1 -0
  43. package/dist/chunks/{json-elements-DKSqpNW1.js → json-elements-DJZRZ6jd.js} +123 -32
  44. package/dist/chunks/json-elements-DJZRZ6jd.js.map +1 -0
  45. package/dist/chunks/lexicon-WMsNddyU.js +509 -0
  46. package/dist/chunks/lexicon-WMsNddyU.js.map +1 -0
  47. package/dist/chunks/{ontology-export-CtRXjg_i.js → ontology-export-G4MqRdux.js} +3 -2
  48. package/dist/chunks/{ontology-export-CtRXjg_i.js.map → ontology-export-G4MqRdux.js.map} +1 -1
  49. package/dist/chunks/{records-Cu4bxYOm.js → records-CiaWZrFH.js} +2 -2
  50. package/dist/chunks/{records-Cu4bxYOm.js.map → records-CiaWZrFH.js.map} +1 -1
  51. package/dist/chunks/styles-DvoFBKCK.js +690 -0
  52. package/dist/chunks/styles-DvoFBKCK.js.map +1 -0
  53. package/dist/chunks/styles-yed-Cz9rLBCP.js +842 -0
  54. package/dist/chunks/styles-yed-Cz9rLBCP.js.map +1 -0
  55. package/dist/chunks/styles-zNTmz5R7.js +2102 -0
  56. package/dist/chunks/styles-zNTmz5R7.js.map +1 -0
  57. package/dist/chunks/{text-DHOJXnED.js → text-CzJNFOS9.js} +2 -2
  58. package/dist/chunks/{text-DHOJXnED.js.map → text-CzJNFOS9.js.map} +1 -1
  59. package/dist/chunks/units-XMZFIFe1.js +19 -0
  60. package/dist/chunks/units-XMZFIFe1.js.map +1 -0
  61. package/dist/chunks/writer-gQ8kx99H.js +448 -0
  62. package/dist/chunks/writer-gQ8kx99H.js.map +1 -0
  63. package/dist/csv.js +5 -4
  64. package/dist/csv.js.map +1 -1
  65. package/dist/cx.js +1 -1
  66. package/dist/cx2.js +2 -2
  67. package/dist/cys.js +1 -1
  68. package/dist/dot.js +5 -2
  69. package/dist/dot.js.map +1 -1
  70. package/dist/gexf.js +292 -412
  71. package/dist/gexf.js.map +1 -1
  72. package/dist/gml.js +927 -74
  73. package/dist/gml.js.map +1 -1
  74. package/dist/graph-io.js +351 -236
  75. package/dist/graph-io.js.map +1 -1
  76. package/dist/graphml.js +4 -2
  77. package/dist/graphml.js.map +1 -1
  78. package/dist/json.js +1 -1
  79. package/dist/neo4j.js +4 -3
  80. package/dist/neo4j.js.map +1 -1
  81. package/dist/obo.js +1 -1
  82. package/dist/pajek.js +4 -2
  83. package/dist/positions.d.ts +1 -0
  84. package/dist/positions.js +427 -0
  85. package/dist/positions.js.map +1 -0
  86. package/dist/src/common/codes.d.ts +6 -0
  87. package/dist/src/common/codes.d.ts.map +1 -1
  88. package/dist/src/common/codes.js +6 -0
  89. package/dist/src/common/codes.js.map +1 -1
  90. package/dist/src/common/escape.d.ts.map +1 -1
  91. package/dist/src/common/escape.js +4 -2
  92. package/dist/src/common/escape.js.map +1 -1
  93. package/dist/src/common/export.d.ts +10 -0
  94. package/dist/src/common/export.d.ts.map +1 -1
  95. package/dist/src/common/export.js +123 -100
  96. package/dist/src/common/export.js.map +1 -1
  97. package/dist/src/common/input.d.ts.map +1 -1
  98. package/dist/src/common/input.js +8 -1
  99. package/dist/src/common/input.js.map +1 -1
  100. package/dist/src/common/json-elements.d.ts +12 -9
  101. package/dist/src/common/json-elements.d.ts.map +1 -1
  102. package/dist/src/common/json-elements.js +160 -37
  103. package/dist/src/common/json-elements.js.map +1 -1
  104. package/dist/src/common/notes.d.ts +42 -0
  105. package/dist/src/common/notes.d.ts.map +1 -0
  106. package/dist/src/common/notes.js +72 -0
  107. package/dist/src/common/notes.js.map +1 -0
  108. package/dist/src/common/report.d.ts +18 -0
  109. package/dist/src/common/report.d.ts.map +1 -1
  110. package/dist/src/common/report.js +36 -1
  111. package/dist/src/common/report.js.map +1 -1
  112. package/dist/src/common/units.d.ts +24 -0
  113. package/dist/src/common/units.d.ts.map +1 -0
  114. package/dist/src/common/units.js +26 -0
  115. package/dist/src/common/units.js.map +1 -0
  116. package/dist/src/common/xml.d.ts +18 -0
  117. package/dist/src/common/xml.d.ts.map +1 -1
  118. package/dist/src/common/xml.js +42 -5
  119. package/dist/src/common/xml.js.map +1 -1
  120. package/dist/src/formats/cx/exporter.d.ts +6 -0
  121. package/dist/src/formats/cx/exporter.d.ts.map +1 -1
  122. package/dist/src/formats/cx/exporter.js +71 -8
  123. package/dist/src/formats/cx/exporter.js.map +1 -1
  124. package/dist/src/formats/cx/importer.d.ts +5 -2
  125. package/dist/src/formats/cx/importer.d.ts.map +1 -1
  126. package/dist/src/formats/cx/importer.js +102 -72
  127. package/dist/src/formats/cx/importer.js.map +1 -1
  128. package/dist/src/formats/cx/styles.d.ts +102 -0
  129. package/dist/src/formats/cx/styles.d.ts.map +1 -0
  130. package/dist/src/formats/cx/styles.js +225 -0
  131. package/dist/src/formats/cx/styles.js.map +1 -0
  132. package/dist/src/formats/cx2/exporter.d.ts +5 -0
  133. package/dist/src/formats/cx2/exporter.d.ts.map +1 -1
  134. package/dist/src/formats/cx2/exporter.js +181 -71
  135. package/dist/src/formats/cx2/exporter.js.map +1 -1
  136. package/dist/src/formats/cx2/importer.d.ts +4 -1
  137. package/dist/src/formats/cx2/importer.d.ts.map +1 -1
  138. package/dist/src/formats/cx2/importer.js +19 -1
  139. package/dist/src/formats/cx2/importer.js.map +1 -1
  140. package/dist/src/formats/cx2/styles.d.ts +18 -0
  141. package/dist/src/formats/cx2/styles.d.ts.map +1 -0
  142. package/dist/src/formats/cx2/styles.js +24 -0
  143. package/dist/src/formats/cx2/styles.js.map +1 -0
  144. package/dist/src/formats/cys/constants.d.ts +2 -0
  145. package/dist/src/formats/cys/constants.d.ts.map +1 -1
  146. package/dist/src/formats/cys/constants.js +2 -0
  147. package/dist/src/formats/cys/constants.js.map +1 -1
  148. package/dist/src/formats/cys/exporter.d.ts +6 -2
  149. package/dist/src/formats/cys/exporter.d.ts.map +1 -1
  150. package/dist/src/formats/cys/exporter.js +215 -53
  151. package/dist/src/formats/cys/exporter.js.map +1 -1
  152. package/dist/src/formats/cys/importer.d.ts +2 -1
  153. package/dist/src/formats/cys/importer.d.ts.map +1 -1
  154. package/dist/src/formats/cys/importer.js +119 -6
  155. package/dist/src/formats/cys/importer.js.map +1 -1
  156. package/dist/src/formats/cys/session.d.ts +2 -0
  157. package/dist/src/formats/cys/session.d.ts.map +1 -1
  158. package/dist/src/formats/cys/session.js +5 -0
  159. package/dist/src/formats/cys/session.js.map +1 -1
  160. package/dist/src/formats/cys/styles.d.ts +38 -0
  161. package/dist/src/formats/cys/styles.d.ts.map +1 -0
  162. package/dist/src/formats/cys/styles.js +213 -0
  163. package/dist/src/formats/cys/styles.js.map +1 -0
  164. package/dist/src/formats/cys/tables.d.ts +8 -3
  165. package/dist/src/formats/cys/tables.d.ts.map +1 -1
  166. package/dist/src/formats/cys/tables.js +88 -34
  167. package/dist/src/formats/cys/tables.js.map +1 -1
  168. package/dist/src/formats/dot/exporter.d.ts +2 -0
  169. package/dist/src/formats/dot/exporter.d.ts.map +1 -1
  170. package/dist/src/formats/dot/exporter.js +195 -81
  171. package/dist/src/formats/dot/exporter.js.map +1 -1
  172. package/dist/src/formats/dot/importer.d.ts.map +1 -1
  173. package/dist/src/formats/dot/importer.js +100 -20
  174. package/dist/src/formats/dot/importer.js.map +1 -1
  175. package/dist/src/formats/dot/index.d.ts +1 -0
  176. package/dist/src/formats/dot/index.d.ts.map +1 -1
  177. package/dist/src/formats/dot/index.js +1 -0
  178. package/dist/src/formats/dot/index.js.map +1 -1
  179. package/dist/src/formats/dot/positions.d.ts +14 -0
  180. package/dist/src/formats/dot/positions.d.ts.map +1 -0
  181. package/dist/src/formats/dot/positions.js +70 -0
  182. package/dist/src/formats/dot/positions.js.map +1 -0
  183. package/dist/src/formats/dot/styles.d.ts +82 -0
  184. package/dist/src/formats/dot/styles.d.ts.map +1 -0
  185. package/dist/src/formats/dot/styles.js +1496 -0
  186. package/dist/src/formats/dot/styles.js.map +1 -0
  187. package/dist/src/formats/gexf/exporter.d.ts.map +1 -1
  188. package/dist/src/formats/gexf/exporter.js +20 -5
  189. package/dist/src/formats/gexf/exporter.js.map +1 -1
  190. package/dist/src/formats/gexf/importer.d.ts +8 -1
  191. package/dist/src/formats/gexf/importer.d.ts.map +1 -1
  192. package/dist/src/formats/gexf/importer.js +251 -131
  193. package/dist/src/formats/gexf/importer.js.map +1 -1
  194. package/dist/src/formats/gexf/index.d.ts +8 -0
  195. package/dist/src/formats/gexf/index.d.ts.map +1 -1
  196. package/dist/src/formats/gexf/index.js +10 -2
  197. package/dist/src/formats/gexf/index.js.map +1 -1
  198. package/dist/src/formats/gexf/schema.d.ts +5 -0
  199. package/dist/src/formats/gexf/schema.d.ts.map +1 -1
  200. package/dist/src/formats/gexf/schema.js +5 -0
  201. package/dist/src/formats/gexf/schema.js.map +1 -1
  202. package/dist/src/formats/gexf/styles.d.ts +74 -0
  203. package/dist/src/formats/gexf/styles.d.ts.map +1 -0
  204. package/dist/src/formats/gexf/styles.js +604 -0
  205. package/dist/src/formats/gexf/styles.js.map +1 -0
  206. package/dist/src/formats/gml/exporter.d.ts +1 -5
  207. package/dist/src/formats/gml/exporter.d.ts.map +1 -1
  208. package/dist/src/formats/gml/exporter.js +19 -8
  209. package/dist/src/formats/gml/exporter.js.map +1 -1
  210. package/dist/src/formats/gml/importer.d.ts.map +1 -1
  211. package/dist/src/formats/gml/importer.js +4 -0
  212. package/dist/src/formats/gml/importer.js.map +1 -1
  213. package/dist/src/formats/gml/index.d.ts +2 -1
  214. package/dist/src/formats/gml/index.d.ts.map +1 -1
  215. package/dist/src/formats/gml/index.js +2 -1
  216. package/dist/src/formats/gml/index.js.map +1 -1
  217. package/dist/src/formats/gml/positions.d.ts +14 -0
  218. package/dist/src/formats/gml/positions.d.ts.map +1 -0
  219. package/dist/src/formats/gml/positions.js +46 -0
  220. package/dist/src/formats/gml/positions.js.map +1 -0
  221. package/dist/src/formats/gml/styles.d.ts +59 -0
  222. package/dist/src/formats/gml/styles.d.ts.map +1 -0
  223. package/dist/src/formats/gml/styles.js +1056 -0
  224. package/dist/src/formats/gml/styles.js.map +1 -0
  225. package/dist/src/formats/gml/syntax.d.ts +11 -0
  226. package/dist/src/formats/gml/syntax.d.ts.map +1 -1
  227. package/dist/src/formats/gml/syntax.js +151 -62
  228. package/dist/src/formats/gml/syntax.js.map +1 -1
  229. package/dist/src/formats/graphml/constants.d.ts +4 -0
  230. package/dist/src/formats/graphml/constants.d.ts.map +1 -1
  231. package/dist/src/formats/graphml/constants.js +5 -1
  232. package/dist/src/formats/graphml/constants.js.map +1 -1
  233. package/dist/src/formats/graphml/exporter.d.ts.map +1 -1
  234. package/dist/src/formats/graphml/exporter.js +133 -65
  235. package/dist/src/formats/graphml/exporter.js.map +1 -1
  236. package/dist/src/formats/graphml/importer.d.ts +4 -1
  237. package/dist/src/formats/graphml/importer.d.ts.map +1 -1
  238. package/dist/src/formats/graphml/importer.js +100 -44
  239. package/dist/src/formats/graphml/importer.js.map +1 -1
  240. package/dist/src/formats/graphml/index.d.ts +1 -0
  241. package/dist/src/formats/graphml/index.d.ts.map +1 -1
  242. package/dist/src/formats/graphml/index.js +1 -0
  243. package/dist/src/formats/graphml/index.js.map +1 -1
  244. package/dist/src/formats/graphml/styles-plain.d.ts +19 -0
  245. package/dist/src/formats/graphml/styles-plain.d.ts.map +1 -0
  246. package/dist/src/formats/graphml/styles-plain.js +187 -0
  247. package/dist/src/formats/graphml/styles-plain.js.map +1 -0
  248. package/dist/src/formats/graphml/styles-yed.d.ts +179 -0
  249. package/dist/src/formats/graphml/styles-yed.d.ts.map +1 -0
  250. package/dist/src/formats/graphml/styles-yed.js +1086 -0
  251. package/dist/src/formats/graphml/styles-yed.js.map +1 -0
  252. package/dist/src/formats/graphml/styles-yfiles3.d.ts +19 -0
  253. package/dist/src/formats/graphml/styles-yfiles3.d.ts.map +1 -0
  254. package/dist/src/formats/graphml/styles-yfiles3.js +508 -0
  255. package/dist/src/formats/graphml/styles-yfiles3.js.map +1 -0
  256. package/dist/src/formats/graphml/tree.d.ts.map +1 -1
  257. package/dist/src/formats/graphml/tree.js +34 -19
  258. package/dist/src/formats/graphml/tree.js.map +1 -1
  259. package/dist/src/formats/graphml/yfiles.d.ts +16 -2
  260. package/dist/src/formats/graphml/yfiles.d.ts.map +1 -1
  261. package/dist/src/formats/graphml/yfiles.js +83 -12
  262. package/dist/src/formats/graphml/yfiles.js.map +1 -1
  263. package/dist/src/formats/json/exporter.d.ts +5 -0
  264. package/dist/src/formats/json/exporter.d.ts.map +1 -1
  265. package/dist/src/formats/json/exporter.js +68 -25
  266. package/dist/src/formats/json/exporter.js.map +1 -1
  267. package/dist/src/formats/json/importer.d.ts +22 -3
  268. package/dist/src/formats/json/importer.d.ts.map +1 -1
  269. package/dist/src/formats/json/importer.js +439 -264
  270. package/dist/src/formats/json/importer.js.map +1 -1
  271. package/dist/src/formats/json/positions.d.ts +16 -0
  272. package/dist/src/formats/json/positions.d.ts.map +1 -0
  273. package/dist/src/formats/json/positions.js +44 -0
  274. package/dist/src/formats/json/positions.js.map +1 -0
  275. package/dist/src/formats/json/styles.d.ts +102 -0
  276. package/dist/src/formats/json/styles.d.ts.map +1 -0
  277. package/dist/src/formats/json/styles.js +1753 -0
  278. package/dist/src/formats/json/styles.js.map +1 -0
  279. package/dist/src/formats/neo4j/exporter.d.ts.map +1 -1
  280. package/dist/src/formats/neo4j/exporter.js +2 -1
  281. package/dist/src/formats/neo4j/exporter.js.map +1 -1
  282. package/dist/src/formats/pajek/exporter.d.ts +2 -0
  283. package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
  284. package/dist/src/formats/pajek/exporter.js +142 -76
  285. package/dist/src/formats/pajek/exporter.js.map +1 -1
  286. package/dist/src/formats/pajek/importer.d.ts +4 -0
  287. package/dist/src/formats/pajek/importer.d.ts.map +1 -1
  288. package/dist/src/formats/pajek/importer.js +60 -6
  289. package/dist/src/formats/pajek/importer.js.map +1 -1
  290. package/dist/src/formats/pajek/index.d.ts +2 -0
  291. package/dist/src/formats/pajek/index.d.ts.map +1 -1
  292. package/dist/src/formats/pajek/index.js +2 -0
  293. package/dist/src/formats/pajek/index.js.map +1 -1
  294. package/dist/src/formats/pajek/styles.d.ts +50 -0
  295. package/dist/src/formats/pajek/styles.d.ts.map +1 -0
  296. package/dist/src/formats/pajek/styles.js +569 -0
  297. package/dist/src/formats/pajek/styles.js.map +1 -0
  298. package/dist/src/formats/pajek/syntax.d.ts +6 -0
  299. package/dist/src/formats/pajek/syntax.d.ts.map +1 -1
  300. package/dist/src/formats/pajek/syntax.js +6 -0
  301. package/dist/src/formats/pajek/syntax.js.map +1 -1
  302. package/dist/src/formats/xgmml/columns.d.ts.map +1 -1
  303. package/dist/src/formats/xgmml/columns.js +34 -9
  304. package/dist/src/formats/xgmml/columns.js.map +1 -1
  305. package/dist/src/formats/xgmml/constants.d.ts +2 -0
  306. package/dist/src/formats/xgmml/constants.d.ts.map +1 -1
  307. package/dist/src/formats/xgmml/constants.js +3 -1
  308. package/dist/src/formats/xgmml/constants.js.map +1 -1
  309. package/dist/src/formats/xgmml/document.d.ts +12 -8
  310. package/dist/src/formats/xgmml/document.d.ts.map +1 -1
  311. package/dist/src/formats/xgmml/document.js +56 -13
  312. package/dist/src/formats/xgmml/document.js.map +1 -1
  313. package/dist/src/formats/xgmml/emit.d.ts.map +1 -1
  314. package/dist/src/formats/xgmml/emit.js +12 -6
  315. package/dist/src/formats/xgmml/emit.js.map +1 -1
  316. package/dist/src/formats/xgmml/exporter.d.ts +3 -1
  317. package/dist/src/formats/xgmml/exporter.d.ts.map +1 -1
  318. package/dist/src/formats/xgmml/exporter.js +22 -9
  319. package/dist/src/formats/xgmml/exporter.js.map +1 -1
  320. package/dist/src/formats/xgmml/importer.d.ts +2 -1
  321. package/dist/src/formats/xgmml/importer.d.ts.map +1 -1
  322. package/dist/src/formats/xgmml/importer.js +31 -24
  323. package/dist/src/formats/xgmml/importer.js.map +1 -1
  324. package/dist/src/formats/xgmml/styles.d.ts +104 -0
  325. package/dist/src/formats/xgmml/styles.d.ts.map +1 -0
  326. package/dist/src/formats/xgmml/styles.js +310 -0
  327. package/dist/src/formats/xgmml/styles.js.map +1 -0
  328. package/dist/src/index.d.ts +9 -7
  329. package/dist/src/index.d.ts.map +1 -1
  330. package/dist/src/index.js +7 -7
  331. package/dist/src/index.js.map +1 -1
  332. package/dist/src/positions/codes.d.ts +31 -0
  333. package/dist/src/positions/codes.d.ts.map +1 -0
  334. package/dist/src/positions/codes.js +26 -0
  335. package/dist/src/positions/codes.js.map +1 -0
  336. package/dist/src/positions/convert.d.ts +58 -0
  337. package/dist/src/positions/convert.d.ts.map +1 -0
  338. package/dist/src/positions/convert.js +107 -0
  339. package/dist/src/positions/convert.js.map +1 -0
  340. package/dist/src/positions/extract.d.ts +27 -0
  341. package/dist/src/positions/extract.d.ts.map +1 -0
  342. package/dist/src/positions/extract.js +526 -0
  343. package/dist/src/positions/extract.js.map +1 -0
  344. package/dist/src/positions/index.d.ts +10 -0
  345. package/dist/src/positions/index.d.ts.map +1 -0
  346. package/dist/src/positions/index.js +9 -0
  347. package/dist/src/positions/index.js.map +1 -0
  348. package/dist/src/positions/types.d.ts +208 -0
  349. package/dist/src/positions/types.d.ts.map +1 -0
  350. package/dist/src/positions/types.js +10 -0
  351. package/dist/src/positions/types.js.map +1 -0
  352. package/dist/src/registry.d.ts +30 -0
  353. package/dist/src/registry.d.ts.map +1 -1
  354. package/dist/src/registry.js +130 -9
  355. package/dist/src/registry.js.map +1 -1
  356. package/dist/src/styles/annotations.d.ts +132 -0
  357. package/dist/src/styles/annotations.d.ts.map +1 -0
  358. package/dist/src/styles/annotations.js +320 -0
  359. package/dist/src/styles/annotations.js.map +1 -0
  360. package/dist/src/styles/budget.d.ts +45 -0
  361. package/dist/src/styles/budget.d.ts.map +1 -0
  362. package/dist/src/styles/budget.js +58 -0
  363. package/dist/src/styles/budget.js.map +1 -0
  364. package/dist/src/styles/canon/bends.d.ts +32 -0
  365. package/dist/src/styles/canon/bends.d.ts.map +1 -0
  366. package/dist/src/styles/canon/bends.js +74 -0
  367. package/dist/src/styles/canon/bends.js.map +1 -0
  368. package/dist/src/styles/canon/color-tables.d.ts +22 -0
  369. package/dist/src/styles/canon/color-tables.d.ts.map +1 -0
  370. package/dist/src/styles/canon/color-tables.js +369 -0
  371. package/dist/src/styles/canon/color-tables.js.map +1 -0
  372. package/dist/src/styles/canon/color.d.ts +66 -0
  373. package/dist/src/styles/canon/color.d.ts.map +1 -0
  374. package/dist/src/styles/canon/color.js +548 -0
  375. package/dist/src/styles/canon/color.js.map +1 -0
  376. package/dist/src/styles/canon/enums.d.ts +25 -0
  377. package/dist/src/styles/canon/enums.d.ts.map +1 -0
  378. package/dist/src/styles/canon/enums.js +187 -0
  379. package/dist/src/styles/canon/enums.js.map +1 -0
  380. package/dist/src/styles/canon/graphviz.d.ts +48 -0
  381. package/dist/src/styles/canon/graphviz.d.ts.map +1 -0
  382. package/dist/src/styles/canon/graphviz.js +160 -0
  383. package/dist/src/styles/canon/graphviz.js.map +1 -0
  384. package/dist/src/styles/canon/index.d.ts +13 -0
  385. package/dist/src/styles/canon/index.d.ts.map +1 -0
  386. package/dist/src/styles/canon/index.js +13 -0
  387. package/dist/src/styles/canon/index.js.map +1 -0
  388. package/dist/src/styles/canon/number.d.ts +59 -0
  389. package/dist/src/styles/canon/number.d.ts.map +1 -0
  390. package/dist/src/styles/canon/number.js +142 -0
  391. package/dist/src/styles/canon/number.js.map +1 -0
  392. package/dist/src/styles/canon/site.d.ts +51 -0
  393. package/dist/src/styles/canon/site.d.ts.map +1 -0
  394. package/dist/src/styles/canon/site.js +63 -0
  395. package/dist/src/styles/canon/site.js.map +1 -0
  396. package/dist/src/styles/canon/text.d.ts +61 -0
  397. package/dist/src/styles/canon/text.d.ts.map +1 -0
  398. package/dist/src/styles/canon/text.js +199 -0
  399. package/dist/src/styles/canon/text.js.map +1 -0
  400. package/dist/src/styles/codes.d.ts +95 -0
  401. package/dist/src/styles/codes.d.ts.map +1 -0
  402. package/dist/src/styles/codes.js +97 -0
  403. package/dist/src/styles/codes.js.map +1 -0
  404. package/dist/src/styles/cyjs/cascade.d.ts +134 -0
  405. package/dist/src/styles/cyjs/cascade.d.ts.map +1 -0
  406. package/dist/src/styles/cyjs/cascade.js +2252 -0
  407. package/dist/src/styles/cyjs/cascade.js.map +1 -0
  408. package/dist/src/styles/cyjs/defaults-table.d.ts +25 -0
  409. package/dist/src/styles/cyjs/defaults-table.d.ts.map +1 -0
  410. package/dist/src/styles/cyjs/defaults-table.js +76 -0
  411. package/dist/src/styles/cyjs/defaults-table.js.map +1 -0
  412. package/dist/src/styles/cyjs/emit.d.ts +82 -0
  413. package/dist/src/styles/cyjs/emit.d.ts.map +1 -0
  414. package/dist/src/styles/cyjs/emit.js +791 -0
  415. package/dist/src/styles/cyjs/emit.js.map +1 -0
  416. package/dist/src/styles/cyjs/index.d.ts +13 -0
  417. package/dist/src/styles/cyjs/index.d.ts.map +1 -0
  418. package/dist/src/styles/cyjs/index.js +13 -0
  419. package/dist/src/styles/cyjs/index.js.map +1 -0
  420. package/dist/src/styles/cyjs/live.d.ts +46 -0
  421. package/dist/src/styles/cyjs/live.d.ts.map +1 -0
  422. package/dist/src/styles/cyjs/live.js +108 -0
  423. package/dist/src/styles/cyjs/live.js.map +1 -0
  424. package/dist/src/styles/cyjs/mappers.d.ts +147 -0
  425. package/dist/src/styles/cyjs/mappers.d.ts.map +1 -0
  426. package/dist/src/styles/cyjs/mappers.js +744 -0
  427. package/dist/src/styles/cyjs/mappers.js.map +1 -0
  428. package/dist/src/styles/cyjs/selector.d.ts +113 -0
  429. package/dist/src/styles/cyjs/selector.d.ts.map +1 -0
  430. package/dist/src/styles/cyjs/selector.js +611 -0
  431. package/dist/src/styles/cyjs/selector.js.map +1 -0
  432. package/dist/src/styles/cyjs/stylesheet-text.d.ts +37 -0
  433. package/dist/src/styles/cyjs/stylesheet-text.d.ts.map +1 -0
  434. package/dist/src/styles/cyjs/stylesheet-text.js +181 -0
  435. package/dist/src/styles/cyjs/stylesheet-text.js.map +1 -0
  436. package/dist/src/styles/cytoscape/emit.d.ts +125 -0
  437. package/dist/src/styles/cytoscape/emit.d.ts.map +1 -0
  438. package/dist/src/styles/cytoscape/emit.js +1025 -0
  439. package/dist/src/styles/cytoscape/emit.js.map +1 -0
  440. package/dist/src/styles/cytoscape/index.d.ts +10 -0
  441. package/dist/src/styles/cytoscape/index.d.ts.map +1 -0
  442. package/dist/src/styles/cytoscape/index.js +10 -0
  443. package/dist/src/styles/cytoscape/index.js.map +1 -0
  444. package/dist/src/styles/cytoscape/lexicon.d.ts +49 -0
  445. package/dist/src/styles/cytoscape/lexicon.d.ts.map +1 -0
  446. package/dist/src/styles/cytoscape/lexicon.js +605 -0
  447. package/dist/src/styles/cytoscape/lexicon.js.map +1 -0
  448. package/dist/src/styles/cytoscape/mappings.d.ts +171 -0
  449. package/dist/src/styles/cytoscape/mappings.d.ts.map +1 -0
  450. package/dist/src/styles/cytoscape/mappings.js +460 -0
  451. package/dist/src/styles/cytoscape/mappings.js.map +1 -0
  452. package/dist/src/styles/cytoscape/resolve.d.ts +137 -0
  453. package/dist/src/styles/cytoscape/resolve.d.ts.map +1 -0
  454. package/dist/src/styles/cytoscape/resolve.js +381 -0
  455. package/dist/src/styles/cytoscape/resolve.js.map +1 -0
  456. package/dist/src/styles/cytoscape/translate.d.ts +50 -0
  457. package/dist/src/styles/cytoscape/translate.d.ts.map +1 -0
  458. package/dist/src/styles/cytoscape/translate.js +156 -0
  459. package/dist/src/styles/cytoscape/translate.js.map +1 -0
  460. package/dist/src/styles/defaults.d.ts +90 -0
  461. package/dist/src/styles/defaults.d.ts.map +1 -0
  462. package/dist/src/styles/defaults.js +414 -0
  463. package/dist/src/styles/defaults.js.map +1 -0
  464. package/dist/src/styles/index.d.ts +15 -0
  465. package/dist/src/styles/index.d.ts.map +1 -0
  466. package/dist/src/styles/index.js +14 -0
  467. package/dist/src/styles/index.js.map +1 -0
  468. package/dist/src/styles/internal.d.ts +17 -0
  469. package/dist/src/styles/internal.d.ts.map +1 -0
  470. package/dist/src/styles/internal.js +16 -0
  471. package/dist/src/styles/internal.js.map +1 -0
  472. package/dist/src/styles/io/approximations.d.ts +24 -0
  473. package/dist/src/styles/io/approximations.d.ts.map +1 -0
  474. package/dist/src/styles/io/approximations.js +51 -0
  475. package/dist/src/styles/io/approximations.js.map +1 -0
  476. package/dist/src/styles/io/block.d.ts +166 -0
  477. package/dist/src/styles/io/block.d.ts.map +1 -0
  478. package/dist/src/styles/io/block.js +930 -0
  479. package/dist/src/styles/io/block.js.map +1 -0
  480. package/dist/src/styles/io/generic.d.ts +88 -0
  481. package/dist/src/styles/io/generic.d.ts.map +1 -0
  482. package/dist/src/styles/io/generic.js +516 -0
  483. package/dist/src/styles/io/generic.js.map +1 -0
  484. package/dist/src/styles/io/index.d.ts +8 -0
  485. package/dist/src/styles/io/index.d.ts.map +1 -0
  486. package/dist/src/styles/io/index.js +7 -0
  487. package/dist/src/styles/io/index.js.map +1 -0
  488. package/dist/src/styles/io/writer.d.ts +89 -0
  489. package/dist/src/styles/io/writer.d.ts.map +1 -0
  490. package/dist/src/styles/io/writer.js +626 -0
  491. package/dist/src/styles/io/writer.js.map +1 -0
  492. package/dist/src/styles/notes.d.ts +47 -0
  493. package/dist/src/styles/notes.d.ts.map +1 -0
  494. package/dist/src/styles/notes.js +140 -0
  495. package/dist/src/styles/notes.js.map +1 -0
  496. package/dist/src/styles/plan/classes.d.ts +31 -0
  497. package/dist/src/styles/plan/classes.d.ts.map +1 -0
  498. package/dist/src/styles/plan/classes.js +139 -0
  499. package/dist/src/styles/plan/classes.js.map +1 -0
  500. package/dist/src/styles/plan/continuous.d.ts +32 -0
  501. package/dist/src/styles/plan/continuous.d.ts.map +1 -0
  502. package/dist/src/styles/plan/continuous.js +165 -0
  503. package/dist/src/styles/plan/continuous.js.map +1 -0
  504. package/dist/src/styles/plan/discrete.d.ts +39 -0
  505. package/dist/src/styles/plan/discrete.d.ts.map +1 -0
  506. package/dist/src/styles/plan/discrete.js +127 -0
  507. package/dist/src/styles/plan/discrete.js.map +1 -0
  508. package/dist/src/styles/plan/families.d.ts +31 -0
  509. package/dist/src/styles/plan/families.d.ts.map +1 -0
  510. package/dist/src/styles/plan/families.js +95 -0
  511. package/dist/src/styles/plan/families.js.map +1 -0
  512. package/dist/src/styles/plan/features.d.ts +58 -0
  513. package/dist/src/styles/plan/features.d.ts.map +1 -0
  514. package/dist/src/styles/plan/features.js +185 -0
  515. package/dist/src/styles/plan/features.js.map +1 -0
  516. package/dist/src/styles/plan/index.d.ts +7 -0
  517. package/dist/src/styles/plan/index.d.ts.map +1 -0
  518. package/dist/src/styles/plan/index.js +7 -0
  519. package/dist/src/styles/plan/index.js.map +1 -0
  520. package/dist/src/styles/plan/plan.d.ts +71 -0
  521. package/dist/src/styles/plan/plan.d.ts.map +1 -0
  522. package/dist/src/styles/plan/plan.js +893 -0
  523. package/dist/src/styles/plan/plan.js.map +1 -0
  524. package/dist/src/styles/plan/resolve.d.ts +137 -0
  525. package/dist/src/styles/plan/resolve.d.ts.map +1 -0
  526. package/dist/src/styles/plan/resolve.js +587 -0
  527. package/dist/src/styles/plan/resolve.js.map +1 -0
  528. package/dist/src/styles/types.d.ts +702 -0
  529. package/dist/src/styles/types.d.ts.map +1 -0
  530. package/dist/src/styles/types.js +10 -0
  531. package/dist/src/styles/types.js.map +1 -0
  532. package/dist/src/styles/vocabulary.d.ts +41 -0
  533. package/dist/src/styles/vocabulary.d.ts.map +1 -0
  534. package/dist/src/styles/vocabulary.js +140 -0
  535. package/dist/src/styles/vocabulary.js.map +1 -0
  536. package/dist/src/types.d.ts +64 -1
  537. package/dist/src/types.d.ts.map +1 -1
  538. package/dist/src/types.js.map +1 -1
  539. package/dist/styles.d.ts +1 -0
  540. package/dist/styles.js +322 -0
  541. package/dist/styles.js.map +1 -0
  542. package/dist/xgmml.js +5 -4
  543. package/dist/xgmml.js.map +1 -1
  544. package/package.json +13 -2
  545. package/src/common/codes.ts +7 -0
  546. package/src/common/escape.ts +5 -2
  547. package/src/common/export.ts +179 -140
  548. package/src/common/input.ts +8 -4
  549. package/src/common/json-elements.ts +169 -38
  550. package/src/common/notes.ts +94 -0
  551. package/src/common/report.ts +41 -1
  552. package/src/common/units.ts +42 -0
  553. package/src/common/xml.ts +45 -5
  554. package/src/formats/cx/exporter.ts +95 -11
  555. package/src/formats/cx/importer.ts +126 -90
  556. package/src/formats/cx/styles.ts +304 -0
  557. package/src/formats/cx2/exporter.ts +234 -77
  558. package/src/formats/cx2/importer.ts +19 -1
  559. package/src/formats/cx2/styles.ts +29 -0
  560. package/src/formats/cys/constants.ts +3 -0
  561. package/src/formats/cys/exporter.ts +246 -60
  562. package/src/formats/cys/importer.ts +125 -9
  563. package/src/formats/cys/session.ts +6 -0
  564. package/src/formats/cys/styles.ts +254 -0
  565. package/src/formats/cys/tables.ts +117 -48
  566. package/src/formats/dot/exporter.ts +262 -126
  567. package/src/formats/dot/importer.ts +111 -20
  568. package/src/formats/dot/index.ts +1 -0
  569. package/src/formats/dot/positions.ts +77 -0
  570. package/src/formats/dot/styles.ts +1755 -0
  571. package/src/formats/gexf/exporter.ts +27 -11
  572. package/src/formats/gexf/importer.ts +308 -158
  573. package/src/formats/gexf/index.ts +10 -0
  574. package/src/formats/gexf/schema.ts +5 -0
  575. package/src/formats/gexf/styles.ts +719 -0
  576. package/src/formats/gml/exporter.ts +33 -14
  577. package/src/formats/gml/importer.ts +4 -0
  578. package/src/formats/gml/index.ts +2 -1
  579. package/src/formats/gml/positions.ts +52 -0
  580. package/src/formats/gml/styles.ts +1248 -0
  581. package/src/formats/gml/syntax.ts +173 -62
  582. package/src/formats/graphml/constants.ts +5 -0
  583. package/src/formats/graphml/exporter.ts +163 -71
  584. package/src/formats/graphml/importer.ts +119 -45
  585. package/src/formats/graphml/index.ts +1 -0
  586. package/src/formats/graphml/styles-plain.ts +236 -0
  587. package/src/formats/graphml/styles-yed.ts +1221 -0
  588. package/src/formats/graphml/styles-yfiles3.ts +573 -0
  589. package/src/formats/graphml/tree.ts +36 -20
  590. package/src/formats/graphml/yfiles.ts +89 -13
  591. package/src/formats/json/exporter.ts +76 -26
  592. package/src/formats/json/importer.ts +541 -322
  593. package/src/formats/json/positions.ts +50 -0
  594. package/src/formats/json/styles.ts +2082 -0
  595. package/src/formats/neo4j/exporter.ts +2 -1
  596. package/src/formats/pajek/exporter.ts +195 -106
  597. package/src/formats/pajek/importer.ts +78 -9
  598. package/src/formats/pajek/index.ts +2 -0
  599. package/src/formats/pajek/styles.ts +685 -0
  600. package/src/formats/pajek/syntax.ts +7 -0
  601. package/src/formats/xgmml/columns.ts +39 -9
  602. package/src/formats/xgmml/constants.ts +3 -0
  603. package/src/formats/xgmml/document.ts +54 -12
  604. package/src/formats/xgmml/emit.ts +11 -6
  605. package/src/formats/xgmml/exporter.ts +32 -13
  606. package/src/formats/xgmml/importer.ts +43 -29
  607. package/src/formats/xgmml/styles.ts +400 -0
  608. package/src/index.ts +16 -0
  609. package/src/positions/codes.ts +32 -0
  610. package/src/positions/convert.ts +123 -0
  611. package/src/positions/extract.ts +619 -0
  612. package/src/positions/index.ts +23 -0
  613. package/src/positions/types.ts +221 -0
  614. package/src/registry.ts +179 -8
  615. package/src/styles/annotations.ts +478 -0
  616. package/src/styles/budget.ts +60 -0
  617. package/src/styles/canon/bends.ts +84 -0
  618. package/src/styles/canon/color-tables.ts +386 -0
  619. package/src/styles/canon/color.ts +624 -0
  620. package/src/styles/canon/enums.ts +211 -0
  621. package/src/styles/canon/graphviz.ts +189 -0
  622. package/src/styles/canon/index.ts +13 -0
  623. package/src/styles/canon/number.ts +152 -0
  624. package/src/styles/canon/site.ts +87 -0
  625. package/src/styles/canon/text.ts +221 -0
  626. package/src/styles/codes.ts +104 -0
  627. package/src/styles/cyjs/cascade.ts +2670 -0
  628. package/src/styles/cyjs/defaults-table.ts +82 -0
  629. package/src/styles/cyjs/emit.ts +952 -0
  630. package/src/styles/cyjs/index.ts +37 -0
  631. package/src/styles/cyjs/live.ts +147 -0
  632. package/src/styles/cyjs/mappers.ts +879 -0
  633. package/src/styles/cyjs/selector.ts +778 -0
  634. package/src/styles/cyjs/stylesheet-text.ts +214 -0
  635. package/src/styles/cytoscape/emit.ts +1264 -0
  636. package/src/styles/cytoscape/index.ts +40 -0
  637. package/src/styles/cytoscape/lexicon.ts +658 -0
  638. package/src/styles/cytoscape/mappings.ts +603 -0
  639. package/src/styles/cytoscape/resolve.ts +521 -0
  640. package/src/styles/cytoscape/translate.ts +237 -0
  641. package/src/styles/defaults.ts +504 -0
  642. package/src/styles/index.ts +57 -0
  643. package/src/styles/internal.ts +17 -0
  644. package/src/styles/io/approximations.ts +47 -0
  645. package/src/styles/io/block.ts +1138 -0
  646. package/src/styles/io/generic.ts +687 -0
  647. package/src/styles/io/index.ts +18 -0
  648. package/src/styles/io/writer.ts +780 -0
  649. package/src/styles/notes.ts +165 -0
  650. package/src/styles/plan/classes.ts +166 -0
  651. package/src/styles/plan/continuous.ts +218 -0
  652. package/src/styles/plan/discrete.ts +165 -0
  653. package/src/styles/plan/families.ts +115 -0
  654. package/src/styles/plan/features.ts +234 -0
  655. package/src/styles/plan/index.ts +7 -0
  656. package/src/styles/plan/plan.ts +1129 -0
  657. package/src/styles/plan/resolve.ts +685 -0
  658. package/src/styles/types.ts +814 -0
  659. package/src/styles/vocabulary.ts +172 -0
  660. package/src/types.ts +76 -1
  661. package/dist/chunks/constants-fT3E8JYY.js.map +0 -1
  662. package/dist/chunks/escape-B62ZGM_a.js.map +0 -1
  663. package/dist/chunks/export-rKLeGQMo.js.map +0 -1
  664. package/dist/chunks/exporter-8hLNemFk.js.map +0 -1
  665. package/dist/chunks/exporter-BWwEuOPT.js.map +0 -1
  666. package/dist/chunks/exporter-RVtXVetw.js.map +0 -1
  667. package/dist/chunks/importer-BbNb7eNg.js.map +0 -1
  668. package/dist/chunks/importer-C98dpSH4.js.map +0 -1
  669. package/dist/chunks/importer-D794XUTe.js.map +0 -1
  670. package/dist/chunks/importer-Dz7tI8Sa.js.map +0 -1
  671. package/dist/chunks/importer-Ht7LNg8L.js.map +0 -1
  672. package/dist/chunks/importer-WrGRZb0N.js.map +0 -1
  673. package/dist/chunks/importer-xZ-3suY1.js.map +0 -1
  674. package/dist/chunks/json-elements-DKSqpNW1.js.map +0 -1
@@ -0,0 +1,690 @@
1
+ import { T as TIME_TEXT_ROLE, m as TIME_TEXT_SUFFIX, e as explicitWeights } from "./export-BvqAXCKh.js";
2
+ import { S as STYLE_BLOCK_NAME, t as StyleNotes, u as parseStyleBlock, s as styleFingerprint, v as blockStyles, r as resolveStyles, g as canonColor, o as canonText, p as plainCell, h as canonNumber, l as canonEnum } from "./block-CPCHkX42.js";
3
+ import { S as StyleApproximations } from "./approximations-DJMHdDvv.js";
4
+ const GEXF_FORMAT = "gexf";
5
+ const GEXF_NAMESPACES = {
6
+ "1.2": { gexf: "http://www.gexf.net/1.2draft", viz: "http://www.gexf.net/1.2draft/viz" },
7
+ "1.3": { gexf: "http://gexf.net/1.3", viz: "http://gexf.net/1.3/viz" }
8
+ };
9
+ const TIME_FORMATS = /* @__PURE__ */ new Set(["integer", "double", "date", "dateTime"]);
10
+ const GRAPH_MODES = /* @__PURE__ */ new Set(["static", "dynamic", "slice"]);
11
+ const TIME_REPRESENTATIONS = /* @__PURE__ */ new Set(["interval", "timestamp"]);
12
+ const VIZ_NAMESPACE = "viz";
13
+ const XML_ORIGIN = { format: GEXF_FORMAT };
14
+ const VIZ_ORIGIN = { format: GEXF_FORMAT, namespace: VIZ_NAMESPACE };
15
+ const NODE_COLUMNS = Object.freeze({
16
+ label: "label",
17
+ parent: "parent",
18
+ parents: "parents",
19
+ start: "start",
20
+ end: "end",
21
+ timestamp: "timestamp",
22
+ spells: "spells",
23
+ spellsOpen: "spells.open",
24
+ timestamps: "timestamps",
25
+ open: "open",
26
+ position: "position",
27
+ color: "color",
28
+ size: "size",
29
+ shape: "shape",
30
+ shapeUri: "shape.uri"
31
+ });
32
+ const EDGE_COLUMNS = Object.freeze({
33
+ id: "id",
34
+ label: "label",
35
+ kind: "kind",
36
+ start: "start",
37
+ end: "end",
38
+ timestamp: "timestamp",
39
+ spells: "spells",
40
+ spellsOpen: "spells.open",
41
+ timestamps: "timestamps",
42
+ open: "open",
43
+ color: "color",
44
+ thickness: "thickness",
45
+ shape: "shape"
46
+ });
47
+ const RESERVED_NODE_NAMES = /* @__PURE__ */ new Set([
48
+ ...Object.values(NODE_COLUMNS),
49
+ NODE_COLUMNS.start + TIME_TEXT_SUFFIX,
50
+ NODE_COLUMNS.end + TIME_TEXT_SUFFIX,
51
+ NODE_COLUMNS.timestamp + TIME_TEXT_SUFFIX
52
+ ]);
53
+ const RESERVED_EDGE_NAMES = /* @__PURE__ */ new Set([
54
+ ...Object.values(EDGE_COLUMNS),
55
+ EDGE_COLUMNS.start + TIME_TEXT_SUFFIX,
56
+ EDGE_COLUMNS.end + TIME_TEXT_SUFFIX,
57
+ EDGE_COLUMNS.timestamp + TIME_TEXT_SUFFIX
58
+ ]);
59
+ const NODE_DECLS = {
60
+ label: { name: NODE_COLUMNS.label, dtype: "string", role: "label", nullable: true, origin: XML_ORIGIN },
61
+ parent: {
62
+ name: NODE_COLUMNS.parent,
63
+ dtype: "u32",
64
+ role: "parent",
65
+ refersTo: "node",
66
+ nullable: true,
67
+ origin: XML_ORIGIN
68
+ },
69
+ parents: {
70
+ name: NODE_COLUMNS.parents,
71
+ dtype: "list",
72
+ itemDtype: "u32",
73
+ role: "parents",
74
+ refersTo: "node",
75
+ nullable: true,
76
+ origin: XML_ORIGIN
77
+ },
78
+ start: { name: NODE_COLUMNS.start, dtype: "f64", role: "start", nullable: true, origin: XML_ORIGIN },
79
+ end: { name: NODE_COLUMNS.end, dtype: "f64", role: "end", nullable: true, origin: XML_ORIGIN },
80
+ timestamp: { name: NODE_COLUMNS.timestamp, dtype: "f64", role: "timestamp", nullable: true, origin: XML_ORIGIN },
81
+ spells: {
82
+ name: NODE_COLUMNS.spells,
83
+ dtype: "list",
84
+ itemDtype: "f64",
85
+ itemComponents: 2,
86
+ role: "spells",
87
+ nullable: true,
88
+ origin: XML_ORIGIN
89
+ },
90
+ timestamps: {
91
+ name: NODE_COLUMNS.timestamps,
92
+ dtype: "list",
93
+ itemDtype: "f64",
94
+ role: "timestamps",
95
+ nullable: true,
96
+ origin: XML_ORIGIN
97
+ },
98
+ open: { name: NODE_COLUMNS.open, dtype: "u8", role: "open", nullable: true, origin: XML_ORIGIN },
99
+ spellsOpen: {
100
+ name: NODE_COLUMNS.spellsOpen,
101
+ dtype: "list",
102
+ itemDtype: "u8",
103
+ role: "spellsOpen",
104
+ nullable: true,
105
+ origin: XML_ORIGIN
106
+ },
107
+ position: {
108
+ name: NODE_COLUMNS.position,
109
+ dtype: "f64",
110
+ components: 3,
111
+ role: "position",
112
+ mutable: true,
113
+ nullable: true,
114
+ origin: VIZ_ORIGIN,
115
+ extra: { units: "file" }
116
+ },
117
+ color: {
118
+ name: NODE_COLUMNS.color,
119
+ dtype: "f32",
120
+ components: 4,
121
+ role: "color",
122
+ nullable: true,
123
+ origin: VIZ_ORIGIN
124
+ },
125
+ size: { name: NODE_COLUMNS.size, dtype: "f32", role: "size", nullable: true, origin: VIZ_ORIGIN },
126
+ shape: { name: NODE_COLUMNS.shape, dtype: "dict", role: "shape", nullable: true, origin: VIZ_ORIGIN },
127
+ shapeUri: { name: NODE_COLUMNS.shapeUri, dtype: "string", nullable: true, origin: VIZ_ORIGIN }
128
+ };
129
+ const EDGE_DECLS = {
130
+ id: { name: EDGE_COLUMNS.id, dtype: "string", role: "id", unique: true, nullable: true, origin: XML_ORIGIN },
131
+ label: { name: EDGE_COLUMNS.label, dtype: "string", role: "label", nullable: true, origin: XML_ORIGIN },
132
+ kind: { name: EDGE_COLUMNS.kind, dtype: "dict", role: "kind", nullable: true, origin: XML_ORIGIN },
133
+ start: { name: EDGE_COLUMNS.start, dtype: "f64", role: "start", nullable: true, origin: XML_ORIGIN },
134
+ end: { name: EDGE_COLUMNS.end, dtype: "f64", role: "end", nullable: true, origin: XML_ORIGIN },
135
+ timestamp: { name: EDGE_COLUMNS.timestamp, dtype: "f64", role: "timestamp", nullable: true, origin: XML_ORIGIN },
136
+ spells: {
137
+ name: EDGE_COLUMNS.spells,
138
+ dtype: "list",
139
+ itemDtype: "f64",
140
+ itemComponents: 2,
141
+ role: "spells",
142
+ nullable: true,
143
+ origin: XML_ORIGIN
144
+ },
145
+ timestamps: {
146
+ name: EDGE_COLUMNS.timestamps,
147
+ dtype: "list",
148
+ itemDtype: "f64",
149
+ role: "timestamps",
150
+ nullable: true,
151
+ origin: XML_ORIGIN
152
+ },
153
+ open: { name: EDGE_COLUMNS.open, dtype: "u8", role: "open", nullable: true, origin: XML_ORIGIN },
154
+ spellsOpen: {
155
+ name: EDGE_COLUMNS.spellsOpen,
156
+ dtype: "list",
157
+ itemDtype: "u8",
158
+ role: "spellsOpen",
159
+ nullable: true,
160
+ origin: XML_ORIGIN
161
+ },
162
+ color: {
163
+ name: EDGE_COLUMNS.color,
164
+ dtype: "f32",
165
+ components: 4,
166
+ role: "color",
167
+ nullable: true,
168
+ origin: VIZ_ORIGIN
169
+ },
170
+ thickness: { name: EDGE_COLUMNS.thickness, dtype: "f32", role: "thickness", nullable: true, origin: VIZ_ORIGIN },
171
+ shape: { name: EDGE_COLUMNS.shape, dtype: "dict", role: "shape", nullable: true, origin: VIZ_ORIGIN }
172
+ };
173
+ const OPEN_START = 1;
174
+ const OPEN_END = 2;
175
+ const TEMPORAL_TABLE_PREFIX = "temporal:";
176
+ const TEMPORAL_COLUMNS = Object.freeze({
177
+ element: "element",
178
+ start: "start",
179
+ end: "end",
180
+ value: "value",
181
+ open: "open",
182
+ startText: `start${TIME_TEXT_SUFFIX}`,
183
+ endText: `end${TIME_TEXT_SUFFIX}`,
184
+ valueText: `value${TIME_TEXT_SUFFIX}`
185
+ });
186
+ function temporalTableName(domain, column) {
187
+ return `${TEMPORAL_TABLE_PREFIX}${domain}:${column}`;
188
+ }
189
+ function parseTemporalTableName(name) {
190
+ if (!name.startsWith(TEMPORAL_TABLE_PREFIX)) {
191
+ return null;
192
+ }
193
+ const rest = name.slice(TEMPORAL_TABLE_PREFIX.length);
194
+ const colon = rest.indexOf(":");
195
+ if (colon < 0) {
196
+ return null;
197
+ }
198
+ const domain = rest.slice(0, colon);
199
+ if (domain !== "node" && domain !== "edge") {
200
+ return null;
201
+ }
202
+ return { domain, column: rest.slice(colon + 1) };
203
+ }
204
+ function temporalTableDecls(domain, value, temporalValue) {
205
+ const decls = [
206
+ { name: TEMPORAL_COLUMNS.element, dtype: "u32", refersTo: domain, nullable: false },
207
+ { name: TEMPORAL_COLUMNS.start, dtype: "f64", role: "start", nullable: true },
208
+ { name: TEMPORAL_COLUMNS.end, dtype: "f64", role: "end", nullable: true },
209
+ { name: TEMPORAL_COLUMNS.value, ...value, nullable: true },
210
+ {
211
+ name: TEMPORAL_COLUMNS.startText,
212
+ dtype: "string",
213
+ role: TIME_TEXT_ROLE,
214
+ nullable: true,
215
+ extra: { for: TEMPORAL_COLUMNS.start }
216
+ },
217
+ { name: TEMPORAL_COLUMNS.endText, dtype: "string", nullable: true, extra: { for: TEMPORAL_COLUMNS.end } },
218
+ { name: TEMPORAL_COLUMNS.open, dtype: "u8", role: "open", nullable: true }
219
+ ];
220
+ if (temporalValue) {
221
+ decls.push({
222
+ name: TEMPORAL_COLUMNS.valueText,
223
+ dtype: "string",
224
+ nullable: true,
225
+ extra: { for: TEMPORAL_COLUMNS.value }
226
+ });
227
+ }
228
+ return decls;
229
+ }
230
+ const TYPES_1_2 = /* @__PURE__ */ new Set(["integer", "long", "double", "float", "boolean", "string", "anyURI"]);
231
+ const TYPES_1_3 = /* @__PURE__ */ new Set([
232
+ ...TYPES_1_2,
233
+ "bigdecimal",
234
+ "biginteger",
235
+ "byte",
236
+ "char",
237
+ "short",
238
+ "date",
239
+ "dateTime"
240
+ ]);
241
+ function isScalarType(type, version) {
242
+ return (version === "1.2" ? TYPES_1_2 : TYPES_1_3).has(type);
243
+ }
244
+ function isListType(type, version) {
245
+ return type.startsWith("list") && type.length > 4 && isScalarType(type.slice(4), "1.3");
246
+ }
247
+ function canonicalScalarType(dtype) {
248
+ switch (dtype) {
249
+ case "bool":
250
+ return "boolean";
251
+ case "i32":
252
+ case "u8":
253
+ return "integer";
254
+ case "u32":
255
+ return "long";
256
+ case "f32":
257
+ return "float";
258
+ case "f64":
259
+ return "double";
260
+ case "dict":
261
+ case "string":
262
+ case "json":
263
+ case "list":
264
+ return "string";
265
+ default: {
266
+ const name = dtype;
267
+ return name;
268
+ }
269
+ }
270
+ }
271
+ const LABEL_COLUMN = NODE_COLUMNS.label;
272
+ const GRAPHTY_XML_NAMESPACE = "https://graphty.app/ns/gexf";
273
+ const GEXF_STYLE_CAPABILITIES = Object.freeze({
274
+ node: Object.freeze(["label", "fill", "fillOpacity", "width", "height", "shape", "image"]),
275
+ edge: Object.freeze(["color", "opacity", "width", "lineStyle"]),
276
+ block: "native"
277
+ });
278
+ const GEPHI_NODE_FILL = "#000000";
279
+ const DIRECTED_KEY = "directed";
280
+ const SOURCE_COLOR_KEY = "source-color";
281
+ const WEIGHT_WIDTH_KEY = "weight-width";
282
+ const NODE_SHAPES = /* @__PURE__ */ new Map([
283
+ ["ellipse", "disc"],
284
+ ["rectangle", "square"],
285
+ ["triangle", "triangle"],
286
+ ["diamond", "diamond"]
287
+ ]);
288
+ const NEAREST_NODE_SHAPES = /* @__PURE__ */ new Map([
289
+ ["round-rectangle", "square"],
290
+ ["vee", "triangle"]
291
+ ]);
292
+ const EDGE_SHAPES = /* @__PURE__ */ new Set(["solid", "dotted", "dashed", "double"]);
293
+ function gexfNodeShape(shape) {
294
+ const exact = NODE_SHAPES.get(shape);
295
+ return exact === void 0 ? { value: NEAREST_NODE_SHAPES.get(shape) ?? "disc", exact: false } : { value: exact, exact: true };
296
+ }
297
+ function gexfEdgeShape(line) {
298
+ if (EDGE_SHAPES.has(line)) {
299
+ return { value: line, exact: true };
300
+ }
301
+ return { value: line === "dash-dot" || line === "long-dash" ? "dashed" : "solid", exact: false };
302
+ }
303
+ const VIZ_COLUMNS = {
304
+ node: ["color", "size", "shape", "shape.uri"],
305
+ edge: ["color", "thickness", "shape"]
306
+ };
307
+ function canonVizColor(hex) {
308
+ const text = hex.trim();
309
+ if (!/^#?([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(text)) {
310
+ return null;
311
+ }
312
+ const c = canonColor(text.startsWith("#") ? text : `#${text}`, "css", {
313
+ notes: new StyleNotes(),
314
+ target: "node",
315
+ property: "fill"
316
+ });
317
+ if (c === null) {
318
+ return null;
319
+ }
320
+ const n = Number.parseInt(c.color.slice(1), 16);
321
+ return [n >> 16 & 255, n >> 8 & 255, n & 255, c.alpha];
322
+ }
323
+ function vizColumn(snapshot, target, name) {
324
+ const col = (target === "node" ? snapshot.nodes : snapshot.edges).get(name);
325
+ return col !== null && col.meta.origin?.namespace === VIZ_NAMESPACE ? name : null;
326
+ }
327
+ function vizValues(snapshot, target, notes, context) {
328
+ const table = target === "node" ? snapshot.nodes : snapshot.edges;
329
+ const n = target === "node" ? snapshot.nodeCount : snapshot.edgeCount;
330
+ const out = {};
331
+ const viz = {
332
+ table,
333
+ target,
334
+ column: (p) => out[p] ??= new Array(n).fill(null),
335
+ site: (i, property) => ({ notes, target, property, element: i, budget: context.budget })
336
+ };
337
+ const color = vizColumn(snapshot, target, "color");
338
+ const size = vizColumn(snapshot, target, target === "node" ? "size" : "thickness");
339
+ const shape = vizColumn(snapshot, target, "shape");
340
+ const uri = target === "node" ? vizColumn(snapshot, target, "shape.uri") : null;
341
+ const label = target === "node" ? table.byRole("label") : null;
342
+ for (let i = 0; i < n; i++) {
343
+ if (label !== null) {
344
+ readLabel(viz, label, i);
345
+ }
346
+ if (color !== null) {
347
+ readVizColor(viz, color, i);
348
+ }
349
+ if (size !== null) {
350
+ readVizSize(viz, size, i);
351
+ }
352
+ if (shape !== null && readVizShape(viz, shape, i) && uri !== null) {
353
+ readVizImage(viz, uri, i);
354
+ }
355
+ }
356
+ return out;
357
+ }
358
+ function readLabel(viz, label, i) {
359
+ const text = canonText(plainCell(label.value(i)), viz.site(i, "label"));
360
+ if (text !== null) {
361
+ viz.column("label")[i] = text;
362
+ }
363
+ }
364
+ function readVizImage(viz, uri, i) {
365
+ const v = plainCell(viz.table.value(uri, i));
366
+ if (typeof v === "string" && v.length > 0) {
367
+ viz.column("image")[i] = v;
368
+ }
369
+ }
370
+ function readVizColor(viz, color, i) {
371
+ const v = plainCell(viz.table.value(color, i));
372
+ if (!Array.isArray(v)) {
373
+ return;
374
+ }
375
+ const [fill, opacity] = viz.target === "node" ? ["fill", "fillOpacity"] : ["color", "opacity"];
376
+ const [r, g, b, a = 1] = v;
377
+ const c = canonColor({ r: r * 255, g: g * 255, b: b * 255, a }, "gexf", viz.site(i, fill));
378
+ if (c !== null) {
379
+ viz.column(fill)[i] = c.color;
380
+ if (c.alpha < 1) {
381
+ viz.column(opacity)[i] = c.alpha;
382
+ }
383
+ }
384
+ }
385
+ function readVizSize(viz, size, i) {
386
+ const v = canonNumber(plainCell(viz.table.value(size, i)), viz.site(i, "width"));
387
+ if (v !== null) {
388
+ viz.column("width")[i] = v;
389
+ if (viz.target === "node") {
390
+ viz.column("height")[i] = v;
391
+ }
392
+ }
393
+ }
394
+ function readVizShape(viz, shape, i) {
395
+ const raw = plainCell(viz.table.value(shape, i));
396
+ if (raw === null) {
397
+ return false;
398
+ }
399
+ const kind = viz.target === "node" ? "shape" : "lineStyle";
400
+ viz.column(kind)[i] = canonEnum(kind, raw, "gexf", viz.site(i, kind));
401
+ return typeof raw === "string" && raw.toLowerCase() === "image";
402
+ }
403
+ function directedEdges(snapshot) {
404
+ const out = new Array(snapshot.edgeCount).fill(snapshot.directed);
405
+ const col = snapshot.directed ? snapshot.edges.byRole("directed") : null;
406
+ if (col !== null) {
407
+ for (let e = 0; e < snapshot.edgeCount; e++) {
408
+ out[e] = plainCell(col.value(e)) !== false;
409
+ }
410
+ }
411
+ return out;
412
+ }
413
+ function gephiRules(snapshot, nodeFill, edgeColor, budget, edgeWidth) {
414
+ const rules = [];
415
+ const columns = /* @__PURE__ */ new Map();
416
+ const directed = directedEdges(snapshot);
417
+ if (directed.some(Boolean)) {
418
+ columns.set(
419
+ DIRECTED_KEY,
420
+ directed.map((d) => d ? true : null)
421
+ );
422
+ rules.push({
423
+ id: "edge.tool.arrow",
424
+ target: "edge",
425
+ role: "group",
426
+ origin: "tool",
427
+ where: { has: { style: DIRECTED_KEY } },
428
+ set: { targetArrow: "triangle" }
429
+ });
430
+ }
431
+ const first = firstHalf(snapshot);
432
+ const sourceColor = withoutOwn(
433
+ edgeColor,
434
+ snapshot.edgeCount,
435
+ (e) => nodeFill?.[snapshot.edgeSource(first(e))] ?? GEPHI_NODE_FILL
436
+ );
437
+ const uncolored = sourceColor.filter((v) => v !== null).length;
438
+ budget.spend("edge", snapshot.edgeCount);
439
+ const weights = explicitWeights(snapshot);
440
+ const weightWidth = withoutOwn(edgeWidth, snapshot.edgeCount, (e) => {
441
+ const w = Number(weights.text(first(e)) ?? 1);
442
+ return Number.isFinite(w) && w > 0 ? w : 1;
443
+ });
444
+ const unsized = weightWidth.filter((v) => v !== null).length;
445
+ if (unsized > 0) {
446
+ columns.set(WEIGHT_WIDTH_KEY, weightWidth);
447
+ rules.push({
448
+ id: "edge.tool.weight-width",
449
+ target: "edge",
450
+ role: "passthrough",
451
+ origin: "tool",
452
+ where: { has: { style: WEIGHT_WIDTH_KEY } },
453
+ map: { width: { kind: "passthrough", by: { style: WEIGHT_WIDTH_KEY } } },
454
+ facts: { elements: unsized, reason: "EDGE_WEIGHT" }
455
+ });
456
+ }
457
+ if (uncolored > 0) {
458
+ columns.set(SOURCE_COLOR_KEY, sourceColor);
459
+ rules.push({
460
+ id: "edge.tool.source-color",
461
+ target: "edge",
462
+ role: "passthrough",
463
+ origin: "tool",
464
+ where: { has: { style: SOURCE_COLOR_KEY } },
465
+ map: { color: { kind: "passthrough", by: { style: SOURCE_COLOR_KEY } } },
466
+ facts: { elements: uncolored, reason: "SOURCE_NODE_COLOR" }
467
+ });
468
+ }
469
+ return { rules, columns };
470
+ }
471
+ function firstHalf(snapshot) {
472
+ const pair = snapshot.edges.byRole("pair");
473
+ return (e) => pair?.isSet(e) === true ? Math.min(e, pair.value(e)) : e;
474
+ }
475
+ function withoutOwn(own, count, value) {
476
+ const out = new Array(count).fill(null);
477
+ for (let e = 0; e < count; e++) {
478
+ if (own?.[e] === null || own === void 0) {
479
+ out[e] = value(e);
480
+ }
481
+ }
482
+ return out;
483
+ }
484
+ function gexfStyles(snapshot, context) {
485
+ const notes = new StyleNotes();
486
+ const node = vizValues(snapshot, "node", notes, context);
487
+ const edge = vizValues(snapshot, "edge", notes, context);
488
+ const block = typeof context.kept === "string" ? context.kept : null;
489
+ if (block !== null) {
490
+ exactFromBlock(snapshot, block, node, edge);
491
+ }
492
+ const { rules, columns } = gephiRules(snapshot, node.fill, edge.color, context.budget, edge.width);
493
+ return {
494
+ canonical: true,
495
+ dialect: "gexf",
496
+ tool: "gephi",
497
+ units: "relative",
498
+ node: { values: node },
499
+ edge: { values: edge, rules, columns },
500
+ notes: notes.list(),
501
+ opacityInColor: true,
502
+ block,
503
+ readFrom: {
504
+ node: VIZ_COLUMNS.node.filter((name) => vizColumn(snapshot, "node", name) !== null),
505
+ edge: VIZ_COLUMNS.edge.filter((name) => vizColumn(snapshot, "edge", name) !== null)
506
+ }
507
+ };
508
+ }
509
+ function exactFromBlock(snapshot, text, node, edge) {
510
+ const parsed = parseStyleBlock(text, styleFingerprint(snapshot));
511
+ const ex = parsed.ok ? blockStyles(parsed.block, snapshot, "gexf") : null;
512
+ if (ex === null) {
513
+ return;
514
+ }
515
+ const exact = (values, target, property, written) => {
516
+ const native = values[property];
517
+ if (native === void 0) {
518
+ return;
519
+ }
520
+ const want = resolveStyles(ex, target, property, snapshot);
521
+ for (let i = 0; i < native.length; i++) {
522
+ const w = want[i];
523
+ const writable = w !== null || property === "width" || property === "height";
524
+ if (writable && native[i] !== w && native[i] !== null && native[i] === written(w, i)) {
525
+ native[i] = w;
526
+ }
527
+ }
528
+ };
529
+ const width = resolveStyles(ex, "node", "width", snapshot);
530
+ const height = resolveStyles(ex, "node", "height", snapshot);
531
+ const size = (i) => {
532
+ const w = width[i];
533
+ const h = height[i];
534
+ return typeof w === "number" && typeof h === "number" ? Math.max(w, h) : w ?? h;
535
+ };
536
+ const read = /* @__PURE__ */ new Map([
537
+ ["disc", "ellipse"],
538
+ ["square", "rectangle"]
539
+ ]);
540
+ exact(node, "node", "shape", (v) => {
541
+ const written = gexfNodeShape(String(v)).value;
542
+ return read.get(written) ?? written;
543
+ });
544
+ exact(edge, "edge", "lineStyle", (v) => gexfEdgeShape(String(v)).value);
545
+ exact(node, "node", "width", (_v, i) => size(i));
546
+ exact(node, "node", "height", (_v, i) => size(i));
547
+ }
548
+ function tagDtype(col) {
549
+ const kinds = new Set(col.filter((v) => v !== null).map((v) => typeof v));
550
+ if (kinds.size === 1 && kinds.has("number")) {
551
+ return "f64";
552
+ }
553
+ return kinds.size === 1 && kinds.has("boolean") ? "bool" : "string";
554
+ }
555
+ function gexfStyledExport(snapshot, input) {
556
+ if (input === void 0) {
557
+ return null;
558
+ }
559
+ const p = (target, property) => input.picture(target, property);
560
+ const fill = p("node", "fill");
561
+ const fillOpacity = p("node", "fillOpacity");
562
+ const image = p("node", "image");
563
+ const color = p("edge", "color");
564
+ const opacity = p("edge", "opacity");
565
+ const thickness = p("edge", "width");
566
+ const height = p("node", "height");
567
+ const approximated = new StyleApproximations();
568
+ const nodeShapes = p("node", "shape").map((s, i) => gexfShapeOf(s, typeof image[i] === "string", approximated));
569
+ const nodeSizes = p("node", "width").map((w, i) => gexfSizeOf(w, height[i], approximated));
570
+ const edgeShapes = p("edge", "lineStyle").map((s) => gexfLineOf(s, approximated));
571
+ return {
572
+ snapshot: withTagColumns(snapshot, input),
573
+ blockElement: `<graphty:styles xmlns:graphty="${GRAPHTY_XML_NAMESPACE}" name="${STYLE_BLOCK_NAME}">${escapeXml(input.block)}</graphty:styles>`,
574
+ notes: approximated.notes("GEXF"),
575
+ node(i, indent) {
576
+ const size = nodeSizes[i];
577
+ const s = nodeShapes[i];
578
+ return colorElement(fill[i], fillOpacity[i], indent) + (size === null ? "" : `${indent}<viz:size value="${String(size)}"/>
579
+ `) + shapeElement(s, s === "image" ? String(image[i]) : null, indent);
580
+ },
581
+ edge(e, indent) {
582
+ const w = thickness[e];
583
+ return colorElement(color[e], opacity[e], indent) + (typeof w === "number" ? `${indent}<viz:thickness value="${String(w)}"/>
584
+ ` : "") + shapeElement(edgeShapes[e], null, indent);
585
+ }
586
+ };
587
+ }
588
+ function withTagColumns(snapshot, input) {
589
+ const out = snapshot.withColumns();
590
+ for (const target of ["node", "edge"]) {
591
+ const table = target === "node" ? out.nodes : out.edges;
592
+ for (const name of VIZ_COLUMNS[target]) {
593
+ if (table.get(name)?.meta.origin?.namespace === VIZ_NAMESPACE) {
594
+ table.remove(name);
595
+ }
596
+ }
597
+ for (const [name, col] of input.tags[target]) {
598
+ const dtype = tagDtype(col);
599
+ table.set(name, dtype === "string" ? col.map((v) => v === null ? null : String(v)) : col, { dtype });
600
+ }
601
+ }
602
+ const label = input.picture("node", "label").map((v) => typeof v === "string" ? v : null);
603
+ out.nodes.set(LABEL_COLUMN, label, { dtype: "string", role: "label" }, { replaceRole: true });
604
+ return out;
605
+ }
606
+ function gexfShapeOf(s, pictured, approximated) {
607
+ if (pictured) {
608
+ if (typeof s === "string" && s !== "other:image") {
609
+ approximated.add("node", "shape", s);
610
+ }
611
+ return "image";
612
+ }
613
+ if (typeof s !== "string") {
614
+ return null;
615
+ }
616
+ const g = gexfNodeShape(s);
617
+ if (!g.exact) {
618
+ approximated.add("node", "shape", s);
619
+ }
620
+ return g.value;
621
+ }
622
+ function gexfLineOf(s, approximated) {
623
+ if (typeof s !== "string") {
624
+ return null;
625
+ }
626
+ const g = gexfEdgeShape(s);
627
+ if (!g.exact) {
628
+ approximated.add("edge", "lineStyle", s);
629
+ }
630
+ return g.value;
631
+ }
632
+ function gexfSizeOf(w, h, approximated) {
633
+ if (typeof w === "number" && typeof h === "number" && w !== h) {
634
+ approximated.add("node", w > h ? "height" : "width", `${String(w)} x ${String(h)}`);
635
+ return Math.max(w, h);
636
+ }
637
+ if (typeof w === "number") {
638
+ return w;
639
+ }
640
+ return typeof h === "number" ? h : null;
641
+ }
642
+ function colorElement(hex, alpha, indent) {
643
+ if (typeof hex !== "string") {
644
+ return "";
645
+ }
646
+ const n = Number.parseInt(hex.slice(1), 16);
647
+ const a = typeof alpha === "number" && alpha !== 1 ? ` a="${String(alpha)}"` : "";
648
+ return `${indent}<viz:color r="${String(n >> 16 & 255)}" g="${String(n >> 8 & 255)}" b="${String(n & 255)}"${a}/>
649
+ `;
650
+ }
651
+ function shapeElement(shape, uri, indent) {
652
+ if (shape === null) {
653
+ return "";
654
+ }
655
+ return uri === null ? `${indent}<viz:shape value="${shape}"/>
656
+ ` : `${indent}<viz:shape value="${shape}" uri="${escapeXml(uri)}"/>
657
+ `;
658
+ }
659
+ function escapeXml(text) {
660
+ return text.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll('"', "&quot;");
661
+ }
662
+ export {
663
+ EDGE_DECLS as E,
664
+ GEXF_FORMAT as G,
665
+ NODE_DECLS as N,
666
+ OPEN_START as O,
667
+ RESERVED_NODE_NAMES as R,
668
+ TIME_FORMATS as T,
669
+ VIZ_NAMESPACE as V,
670
+ GRAPHTY_XML_NAMESPACE as a,
671
+ GRAPH_MODES as b,
672
+ TIME_REPRESENTATIONS as c,
673
+ temporalTableDecls as d,
674
+ canonVizColor as e,
675
+ OPEN_END as f,
676
+ gexfStyles as g,
677
+ RESERVED_EDGE_NAMES as h,
678
+ gexfStyledExport as i,
679
+ GEXF_STYLE_CAPABILITIES as j,
680
+ GEXF_NAMESPACES as k,
681
+ TEMPORAL_COLUMNS as l,
682
+ NODE_COLUMNS as m,
683
+ isListType as n,
684
+ canonicalScalarType as o,
685
+ parseTemporalTableName as p,
686
+ isScalarType as q,
687
+ gephiRules as r,
688
+ temporalTableName as t
689
+ };
690
+ //# sourceMappingURL=styles-DvoFBKCK.js.map