@graphty/graph-io 0.3.42 → 0.3.44

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-3Q4TsdTh.js +40 -0
  2. package/dist/chunks/approximations-3Q4TsdTh.js.map +1 -0
  3. package/dist/chunks/block-JQiwViEt.js +2777 -0
  4. package/dist/chunks/block-JQiwViEt.js.map +1 -0
  5. package/dist/chunks/{choose-DvpbdRuz.js → choose-BemygfH8.js} +3 -2
  6. package/dist/chunks/{choose-DvpbdRuz.js.map → choose-BemygfH8.js.map} +1 -1
  7. package/dist/chunks/{constants-fT3E8JYY.js → constants-BFUR_CtU.js} +6 -2
  8. package/dist/chunks/constants-BFUR_CtU.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-DCwFLts5.js +3456 -0
  12. package/dist/chunks/emit-DCwFLts5.js.map +1 -0
  13. package/dist/chunks/{escape-B62ZGM_a.js → escape-B1rMftd9.js} +43 -20
  14. package/dist/chunks/escape-B1rMftd9.js.map +1 -0
  15. package/dist/chunks/{export-rKLeGQMo.js → export-D7IGzTG4.js} +196 -792
  16. package/dist/chunks/export-D7IGzTG4.js.map +1 -0
  17. package/dist/chunks/{exporter-BWwEuOPT.js → exporter-BtnqYuuj.js} +22 -12
  18. package/dist/chunks/exporter-BtnqYuuj.js.map +1 -0
  19. package/dist/chunks/{exporter-yLxKBvLE.js → exporter-ChPyhBOv.js} +4 -3
  20. package/dist/chunks/{exporter-yLxKBvLE.js.map → exporter-ChPyhBOv.js.map} +1 -1
  21. package/dist/chunks/{exporter-8hLNemFk.js → exporter-KEPxYUXD.js} +133 -74
  22. package/dist/chunks/exporter-KEPxYUXD.js.map +1 -0
  23. package/dist/chunks/{exporter-CpRyHZ3H.js → exporter-quPUCBiC.js} +1807 -288
  24. package/dist/chunks/exporter-quPUCBiC.js.map +1 -0
  25. package/dist/chunks/format-GDmO6m6Q.js +676 -0
  26. package/dist/chunks/format-GDmO6m6Q.js.map +1 -0
  27. package/dist/chunks/generic-BL06jrJf.js +1347 -0
  28. package/dist/chunks/generic-BL06jrJf.js.map +1 -0
  29. package/dist/chunks/{importer-WrGRZb0N.js → importer-B7r2owVf.js} +449 -102
  30. package/dist/chunks/importer-B7r2owVf.js.map +1 -0
  31. package/dist/chunks/{importer-Ht7LNg8L.js → importer-BFmOP96W.js} +116 -296
  32. package/dist/chunks/importer-BFmOP96W.js.map +1 -0
  33. package/dist/chunks/{importer-BbNb7eNg.js → importer-C2nzGhdV.js} +1390 -129
  34. package/dist/chunks/importer-C2nzGhdV.js.map +1 -0
  35. package/dist/chunks/{importer-Dz7tI8Sa.js → importer-CbX2_rNF.js} +617 -115
  36. package/dist/chunks/importer-CbX2_rNF.js.map +1 -0
  37. package/dist/chunks/{importer-D794XUTe.js → importer-CdzeN6X4.js} +31 -8
  38. package/dist/chunks/importer-CdzeN6X4.js.map +1 -0
  39. package/dist/chunks/{importer-xZ-3suY1.js → importer-ChKNC_GN.js} +791 -135
  40. package/dist/chunks/importer-ChKNC_GN.js.map +1 -0
  41. package/dist/chunks/{importer-C98dpSH4.js → importer-dwoYpSqb.js} +141 -82
  42. package/dist/chunks/importer-dwoYpSqb.js.map +1 -0
  43. package/dist/chunks/index-B9fdNpTA.js +4310 -0
  44. package/dist/chunks/index-B9fdNpTA.js.map +1 -0
  45. package/dist/chunks/{json-elements-DKSqpNW1.js → json-elements-C4FwgnH5.js} +123 -32
  46. package/dist/chunks/json-elements-C4FwgnH5.js.map +1 -0
  47. package/dist/chunks/lexicon-B-knUi-l.js +508 -0
  48. package/dist/chunks/lexicon-B-knUi-l.js.map +1 -0
  49. package/dist/chunks/{ontology-export-CtRXjg_i.js → ontology-export-BSpbY5FL.js} +3 -2
  50. package/dist/chunks/{ontology-export-CtRXjg_i.js.map → ontology-export-BSpbY5FL.js.map} +1 -1
  51. package/dist/chunks/{records-Cu4bxYOm.js → records-Nwz_rbNt.js} +2 -2
  52. package/dist/chunks/{records-Cu4bxYOm.js.map → records-Nwz_rbNt.js.map} +1 -1
  53. package/dist/chunks/styles-Brt9JMfs.js +690 -0
  54. package/dist/chunks/styles-Brt9JMfs.js.map +1 -0
  55. package/dist/chunks/styles-_N-C8S-U.js +2102 -0
  56. package/dist/chunks/styles-_N-C8S-U.js.map +1 -0
  57. package/dist/chunks/styles-yed-DAfcIkf7.js +842 -0
  58. package/dist/chunks/styles-yed-DAfcIkf7.js.map +1 -0
  59. package/dist/chunks/{text-DHOJXnED.js → text-CgzMqHQb.js} +2 -2
  60. package/dist/chunks/{text-DHOJXnED.js.map → text-CgzMqHQb.js.map} +1 -1
  61. package/dist/chunks/units-XMZFIFe1.js +19 -0
  62. package/dist/chunks/units-XMZFIFe1.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 +295 -414
  71. package/dist/gexf.js.map +1 -1
  72. package/dist/gml.js +8 -3031
  73. package/dist/gml.js.map +1 -1
  74. package/dist/graph-io.js +354 -240
  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 +1484 -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 +23 -7
  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 +441 -265
  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 +790 -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 +603 -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 +80 -0
  489. package/dist/src/styles/io/writer.d.ts.map +1 -0
  490. package/dist/src/styles/io/writer.js +596 -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 +1741 -0
  571. package/src/formats/gexf/exporter.ts +30 -13
  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 +543 -323
  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 +951 -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 +656 -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 +745 -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-CpRyHZ3H.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 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/formats/gexf/styles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAU3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,OAAO,KAAK,EACR,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,SAAS,EAET,UAAU,EACV,sBAAsB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM/C;;;GAGG;AACH,eAAO,MAAM,qBAAqB,gCAAgC,CAAC;AAEnE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,sBAIpC,CAAC;AA4DH;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAelF;AAwKD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACtB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,EACpD,SAAS,EAAE,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,EACrD,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAClC,SAAS,CAAC,EAAE,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,GAC3C;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;CAAE,CAiE7E;AAkCD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAwB7F;AAiED,4CAA4C;AAC5C,MAAM,WAAW,gBAAgB;IAC7B,6GAA6G;IAC7G,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,4CAA4C;IAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,oDAAoD;IACpD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1C,oDAAoD;IACpD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1C,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;CACvC;AAeD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC5B,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,kBAAkB,GAAG,SAAS,GACtC,gBAAgB,GAAG,IAAI,CAwCzB"}
@@ -0,0 +1,604 @@
1
+ /**
2
+ * GEXF styles: reading the viz module (`viz:color`, `viz:size`, `viz:shape`, `viz:thickness`) into the neutral
3
+ * style vocabulary with Gephi's defaults, and writing a graph's styles back into the viz module, with graphty's
4
+ * `graphty.styles` block in `<meta>` (in graphty's own XML namespace, which graph-io, NetworkX's `read_gexf` and
5
+ * Gephi's GEXF importer all skip) and the per-element style values the block reads as ordinary attributes.
6
+ */
7
+ import { explicitWeights } from "../../common/weights.js";
8
+ import { canonColor } from "../../styles/canon/color.js";
9
+ import { canonEnum } from "../../styles/canon/enums.js";
10
+ import { canonNumber } from "../../styles/canon/number.js";
11
+ import { canonText } from "../../styles/canon/text.js";
12
+ import { StyleApproximations } from "../../styles/io/approximations.js";
13
+ import { blockStyles, parseStyleBlock, STYLE_BLOCK_NAME } from "../../styles/io/block.js";
14
+ import { StyleNotes } from "../../styles/notes.js";
15
+ import { styleFingerprint } from "../../styles/plan/features.js";
16
+ import { plainCell, resolveStyles } from "../../styles/plan/resolve.js";
17
+ import { NODE_COLUMNS, VIZ_NAMESPACE } from "./schema.js";
18
+ /** The column of a node's `label` attribute. */
19
+ const LABEL_COLUMN = NODE_COLUMNS.label;
20
+ /**
21
+ * The XML namespace of graphty's own elements in a GEXF file (the `graphty.styles` block inside `<meta>`).
22
+ * @category Built-in formats
23
+ */
24
+ export const GRAPHTY_XML_NAMESPACE = "https://graphty.app/ns/gexf";
25
+ /**
26
+ * What the GEXF writer holds natively: a node's `label` attribute, the viz module's color (with its alpha), size, shape and
27
+ * thickness, and the edge line shape. The block goes into `<meta>`.
28
+ * @category Built-in formats
29
+ */
30
+ export const GEXF_STYLE_CAPABILITIES = Object.freeze({
31
+ node: Object.freeze(["label", "fill", "fillOpacity", "width", "height", "shape", "image"]),
32
+ edge: Object.freeze(["color", "opacity", "width", "lineStyle"]),
33
+ block: "native",
34
+ });
35
+ /** Gephi's node fill when a node has no `viz:color` (graphstore NodeImpl), which its edges then take. */
36
+ const GEPHI_NODE_FILL = "#000000";
37
+ /** The style column marking directed edges, which Gephi draws with an arrow at the target. */
38
+ const DIRECTED_KEY = "directed";
39
+ /** The style column holding the source node's color of each edge without a color of its own. */
40
+ const SOURCE_COLOR_KEY = "source-color";
41
+ /** The style column of the width Gephi draws an edge with from its weight. */
42
+ const WEIGHT_WIDTH_KEY = "weight-width";
43
+ /** GEXF's node shapes, by the neutral shape each writes exactly. */
44
+ const NODE_SHAPES = new Map([
45
+ ["ellipse", "disc"],
46
+ ["rectangle", "square"],
47
+ ["triangle", "triangle"],
48
+ ["diamond", "diamond"],
49
+ ]);
50
+ /** The nearest GEXF node shape of the neutral shapes GEXF does not have; anything else is a disc. */
51
+ const NEAREST_NODE_SHAPES = new Map([
52
+ ["round-rectangle", "square"],
53
+ ["vee", "triangle"],
54
+ ]);
55
+ /** GEXF's edge shapes; a dash pattern GEXF does not have is dashed, anything else solid. */
56
+ const EDGE_SHAPES = new Set(["solid", "dotted", "dashed", "double"]);
57
+ /**
58
+ * The GEXF node shape written for a neutral shape.
59
+ * @param shape - the neutral shape
60
+ * @returns the GEXF shape and whether it is exact
61
+ */
62
+ function gexfNodeShape(shape) {
63
+ const exact = NODE_SHAPES.get(shape);
64
+ return exact === undefined
65
+ ? { value: NEAREST_NODE_SHAPES.get(shape) ?? "disc", exact: false }
66
+ : { value: exact, exact: true };
67
+ }
68
+ /**
69
+ * The GEXF edge shape written for a neutral line style.
70
+ * @param line - the neutral line style
71
+ * @returns the GEXF shape and whether it is exact
72
+ */
73
+ function gexfEdgeShape(line) {
74
+ if (EDGE_SHAPES.has(line)) {
75
+ return { value: line, exact: true };
76
+ }
77
+ return { value: line === "dash-dot" || line === "long-dash" ? "dashed" : "solid", exact: false };
78
+ }
79
+ /** The viz-derived columns the reader reads; `shape.uri` is the image of an `image` shape. */
80
+ const VIZ_COLUMNS = {
81
+ node: ["color", "size", "shape", "shape.uri"],
82
+ edge: ["color", "thickness", "shape"],
83
+ };
84
+ /**
85
+ * A `viz:color` `hex` value as channels: r, g and b 0..255 and an alpha 0..1. Reads `#rgb`, `#rgba`, `#rrggbb` and
86
+ * `#rrggbbaa` (alpha last), with or without the `#`.
87
+ * @param hex - the attribute's value
88
+ * @returns `[r, g, b, a]`, or null when it is not a hex color
89
+ */
90
+ export function canonVizColor(hex) {
91
+ const text = hex.trim();
92
+ if (!/^#?([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(text)) {
93
+ return null;
94
+ }
95
+ const c = canonColor(text.startsWith("#") ? text : `#${text}`, "css", {
96
+ notes: new StyleNotes(),
97
+ target: "node",
98
+ property: "fill",
99
+ });
100
+ if (c === null) {
101
+ return null;
102
+ }
103
+ const n = Number.parseInt(c.color.slice(1), 16);
104
+ return [(n >> 16) & 255, (n >> 8) & 255, n & 255, c.alpha];
105
+ }
106
+ /**
107
+ * A viz column of the snapshot, or null when the column is absent or not viz-derived.
108
+ * @param snapshot - the graph
109
+ * @param target - nodes or edges
110
+ * @param name - the column's fixed name
111
+ * @returns the column's name, or null
112
+ */
113
+ function vizColumn(snapshot, target, name) {
114
+ const col = (target === "node" ? snapshot.nodes : snapshot.edges).get(name);
115
+ return col !== null && col.meta.origin?.namespace === VIZ_NAMESPACE ? name : null;
116
+ }
117
+ /**
118
+ * One target's canonical values from its viz columns and, on a node, its `label` attribute, which Gephi draws.
119
+ * @param snapshot - the graph
120
+ * @param target - nodes or edges
121
+ * @param notes - where problems are noted
122
+ * @param context - the work budget
123
+ * @returns the values per property
124
+ */
125
+ function vizValues(snapshot, target, notes, context) {
126
+ const table = target === "node" ? snapshot.nodes : snapshot.edges;
127
+ const n = target === "node" ? snapshot.nodeCount : snapshot.edgeCount;
128
+ const out = {};
129
+ const viz = {
130
+ table,
131
+ target,
132
+ column: (p) => (out[p] ?? (out[p] = new Array(n).fill(null))),
133
+ site: (i, property) => ({ notes, target, property, element: i, budget: context.budget }),
134
+ };
135
+ const color = vizColumn(snapshot, target, "color");
136
+ const size = vizColumn(snapshot, target, target === "node" ? "size" : "thickness");
137
+ const shape = vizColumn(snapshot, target, "shape");
138
+ const uri = target === "node" ? vizColumn(snapshot, target, "shape.uri") : null;
139
+ // Gephi draws the labels of nodes; an edge's label it does not draw
140
+ const label = target === "node" ? table.byRole("label") : null;
141
+ for (let i = 0; i < n; i++) {
142
+ if (label !== null) {
143
+ readLabel(viz, label, i);
144
+ }
145
+ if (color !== null) {
146
+ readVizColor(viz, color, i);
147
+ }
148
+ if (size !== null) {
149
+ readVizSize(viz, size, i);
150
+ }
151
+ // GEXF gives a shape a uri only to name the picture of an `image` shape
152
+ if (shape !== null && readVizShape(viz, shape, i) && uri !== null) {
153
+ readVizImage(viz, uri, i);
154
+ }
155
+ }
156
+ return out;
157
+ }
158
+ /**
159
+ * Reads one node's label, which Gephi draws.
160
+ * @param viz - the target's reading
161
+ * @param label - the label column
162
+ * @param i - the element
163
+ */
164
+ function readLabel(viz, label, i) {
165
+ const text = canonText(plainCell(label.value(i)), viz.site(i, "label"));
166
+ if (text !== null) {
167
+ viz.column("label")[i] = text;
168
+ }
169
+ }
170
+ /**
171
+ * Reads the picture of one node whose viz shape is `image`.
172
+ * @param viz - the target's reading
173
+ * @param uri - the viz shape uri column
174
+ * @param i - the element
175
+ */
176
+ function readVizImage(viz, uri, i) {
177
+ const v = plainCell(viz.table.value(uri, i));
178
+ if (typeof v === "string" && v.length > 0) {
179
+ viz.column("image")[i] = v;
180
+ }
181
+ }
182
+ /**
183
+ * Reads one element's viz color: a fill on a node, a color on an edge, with its alpha as an opacity.
184
+ * @param viz - the target's reading
185
+ * @param color - the viz color column
186
+ * @param i - the element
187
+ */
188
+ function readVizColor(viz, color, i) {
189
+ const v = plainCell(viz.table.value(color, i));
190
+ if (!Array.isArray(v)) {
191
+ return;
192
+ }
193
+ const [fill, opacity] = viz.target === "node" ? ["fill", "fillOpacity"] : ["color", "opacity"];
194
+ const [r, g, b, a = 1] = v;
195
+ const c = canonColor({ r: r * 255, g: g * 255, b: b * 255, a }, "gexf", viz.site(i, fill));
196
+ if (c !== null) {
197
+ viz.column(fill)[i] = c.color;
198
+ if (c.alpha < 1) {
199
+ viz.column(opacity)[i] = c.alpha;
200
+ }
201
+ }
202
+ }
203
+ /**
204
+ * Reads one element's viz size (a node's width and height) or thickness (an edge's width).
205
+ * @param viz - the target's reading
206
+ * @param size - the viz size or thickness column
207
+ * @param i - the element
208
+ */
209
+ function readVizSize(viz, size, i) {
210
+ const v = canonNumber(plainCell(viz.table.value(size, i)), viz.site(i, "width"));
211
+ if (v !== null) {
212
+ viz.column("width")[i] = v;
213
+ if (viz.target === "node") {
214
+ viz.column("height")[i] = v;
215
+ }
216
+ }
217
+ }
218
+ /**
219
+ * Reads one element's viz shape: a node's shape, an edge's line style.
220
+ * @param viz - the target's reading
221
+ * @param shape - the viz shape column
222
+ * @param i - the element
223
+ * @returns whether it is an `image` shape
224
+ */
225
+ function readVizShape(viz, shape, i) {
226
+ const raw = plainCell(viz.table.value(shape, i));
227
+ if (raw === null) {
228
+ return false;
229
+ }
230
+ const kind = viz.target === "node" ? "shape" : "lineStyle";
231
+ viz.column(kind)[i] = canonEnum(kind, raw, "gexf", viz.site(i, kind));
232
+ return typeof raw === "string" && raw.toLowerCase() === "image";
233
+ }
234
+ /**
235
+ * Whether each edge is directed.
236
+ * @param snapshot - the graph
237
+ * @returns one flag per edge
238
+ */
239
+ function directedEdges(snapshot) {
240
+ const out = new Array(snapshot.edgeCount).fill(snapshot.directed);
241
+ const col = snapshot.directed ? snapshot.edges.byRole("directed") : null;
242
+ if (col !== null) {
243
+ for (let e = 0; e < snapshot.edgeCount; e++) {
244
+ out[e] = plainCell(col.value(e)) !== false;
245
+ }
246
+ }
247
+ return out;
248
+ }
249
+ /**
250
+ * The rules Gephi's defaults make per element: an arrow at the target of every directed edge, the source node's
251
+ * color on every edge without a color of its own, and the edge's weight as the thickness of every edge without a
252
+ * thickness of its own (Gephi draws GEXF and its GraphML export the same way).
253
+ * @param snapshot - the graph
254
+ * @param nodeFill - each node's fill, or undefined when no node has one
255
+ * @param edgeColor - each edge's own color, or undefined when no edge has one
256
+ * @param budget - the work budget
257
+ * @param edgeWidth - each edge's own width, or undefined when no edge has one
258
+ * @returns the edge rules and the style columns they read
259
+ */
260
+ export function gephiRules(snapshot, nodeFill, edgeColor, budget, edgeWidth) {
261
+ const rules = [];
262
+ const columns = new Map();
263
+ const directed = directedEdges(snapshot);
264
+ if (directed.some(Boolean)) {
265
+ columns.set(DIRECTED_KEY, directed.map((d) => (d ? true : null)));
266
+ rules.push({
267
+ id: "edge.tool.arrow",
268
+ target: "edge",
269
+ role: "group",
270
+ origin: "tool",
271
+ where: { has: { style: DIRECTED_KEY } },
272
+ set: { targetArrow: "triangle" },
273
+ });
274
+ }
275
+ // Gephi draws an edge without a color in its source node's color. graphty-element cannot bind an edge's color
276
+ // to its source node's drawn color yet, so the color is frozen here; replace this column with that binding once
277
+ // the element has it (tracking issue "graphty-element: bind an edge's color to its source node's drawn color").
278
+ // An undirected edge in a directed graph is one edge in the file and two halves here: Gephi draws it once, in
279
+ // the color of the source the file names, so the second half takes the first half's source.
280
+ const first = firstHalf(snapshot);
281
+ const sourceColor = withoutOwn(edgeColor, snapshot.edgeCount, (e) => nodeFill?.[snapshot.edgeSource(first(e))] ?? GEPHI_NODE_FILL);
282
+ const uncolored = sourceColor.filter((v) => v !== null).length;
283
+ budget.spend("edge", snapshot.edgeCount);
284
+ // Gephi draws an edge as thick as its weight (1 for an edge with none); a width of its own is the file's
285
+ // The weights come from the snapshot's own weights (the role column exists only when some edge has none), read
286
+ // as the shortest decimal of their dtype. A weight of 0 or below is drawn 1 wide, so the edge stays visible.
287
+ const weights = explicitWeights(snapshot);
288
+ const weightWidth = withoutOwn(edgeWidth, snapshot.edgeCount, (e) => {
289
+ const w = Number(weights.text(first(e)) ?? 1);
290
+ return Number.isFinite(w) && w > 0 ? w : 1;
291
+ });
292
+ const unsized = weightWidth.filter((v) => v !== null).length;
293
+ if (unsized > 0) {
294
+ columns.set(WEIGHT_WIDTH_KEY, weightWidth);
295
+ rules.push({
296
+ id: "edge.tool.weight-width",
297
+ target: "edge",
298
+ role: "passthrough",
299
+ origin: "tool",
300
+ where: { has: { style: WEIGHT_WIDTH_KEY } },
301
+ map: { width: { kind: "passthrough", by: { style: WEIGHT_WIDTH_KEY } } },
302
+ facts: { elements: unsized, reason: "EDGE_WEIGHT" },
303
+ });
304
+ }
305
+ if (uncolored > 0) {
306
+ columns.set(SOURCE_COLOR_KEY, sourceColor);
307
+ rules.push({
308
+ id: "edge.tool.source-color",
309
+ target: "edge",
310
+ role: "passthrough",
311
+ origin: "tool",
312
+ where: { has: { style: SOURCE_COLOR_KEY } },
313
+ map: { color: { kind: "passthrough", by: { style: SOURCE_COLOR_KEY } } },
314
+ facts: { elements: uncolored, reason: "SOURCE_NODE_COLOR" },
315
+ });
316
+ }
317
+ return { rules, columns };
318
+ }
319
+ /**
320
+ * The edge whose source Gephi draws for each edge: an undirected edge in a directed graph is one edge in the file
321
+ * and two halves here, and the second half takes the first half's.
322
+ * @param snapshot - the graph
323
+ * @returns the first half of each edge
324
+ */
325
+ function firstHalf(snapshot) {
326
+ const pair = snapshot.edges.byRole("pair");
327
+ return (e) => (pair?.isSet(e) === true ? Math.min(e, pair.value(e)) : e);
328
+ }
329
+ /**
330
+ * A default value for every edge without a value of its own.
331
+ * @param own - each edge's own value, or undefined when no edge has one
332
+ * @param count - the edge count
333
+ * @param value - the default of an edge
334
+ * @returns the defaults, null where an edge has its own
335
+ */
336
+ function withoutOwn(own, count, value) {
337
+ const out = new Array(count).fill(null);
338
+ for (let e = 0; e < count; e++) {
339
+ if (own?.[e] === null || own === undefined) {
340
+ out[e] = value(e);
341
+ }
342
+ }
343
+ return out;
344
+ }
345
+ /**
346
+ * The styles of a GEXF file: each node's label and each element's viz values as Gephi draws them, Gephi's defaults beneath
347
+ * (black size-10 discs), an arrow at the target of every directed edge, and the source node's color on every edge
348
+ * without a color of its own; plus a `graphty.styles` block the file holds in `<meta>`.
349
+ * @param snapshot - the graph the import built
350
+ * @param context - the work budget and the block text the import kept
351
+ * @returns the styles
352
+ */
353
+ export function gexfStyles(snapshot, context) {
354
+ const notes = new StyleNotes();
355
+ const node = vizValues(snapshot, "node", notes, context);
356
+ const edge = vizValues(snapshot, "edge", notes, context);
357
+ const block = typeof context.kept === "string" ? context.kept : null;
358
+ if (block !== null) {
359
+ exactFromBlock(snapshot, block, node, edge);
360
+ }
361
+ const { rules, columns } = gephiRules(snapshot, node.fill, edge.color, context.budget, edge.width);
362
+ return {
363
+ canonical: true,
364
+ dialect: "gexf",
365
+ tool: "gephi",
366
+ units: "relative",
367
+ node: { values: node },
368
+ edge: { values: edge, rules, columns },
369
+ notes: notes.list(),
370
+ opacityInColor: true,
371
+ block,
372
+ readFrom: {
373
+ node: VIZ_COLUMNS.node.filter((name) => vizColumn(snapshot, "node", name) !== null),
374
+ edge: VIZ_COLUMNS.edge.filter((name) => vizColumn(snapshot, "edge", name) !== null),
375
+ },
376
+ };
377
+ }
378
+ /**
379
+ * For a file graphty wrote: where a viz value is the nearest GEXF value of what the `graphty.styles` block gives (a
380
+ * hexagon written as a disc, a width and height written as one size), the block's exact value is the truth, so a
381
+ * re-import gives the same rules. A value that differs from what graphty wrote (another program edited it) stays
382
+ * the truth.
383
+ * @param snapshot - the graph
384
+ * @param text - the block's text
385
+ * @param node - the node values, changed in place
386
+ * @param edge - the edge values, changed in place
387
+ */
388
+ function exactFromBlock(snapshot, text, node, edge) {
389
+ const parsed = parseStyleBlock(text, styleFingerprint(snapshot));
390
+ const ex = parsed.ok ? blockStyles(parsed.block, snapshot, "gexf") : null;
391
+ if (ex === null) {
392
+ return;
393
+ }
394
+ const exact = (values, target, property, written) => {
395
+ const native = values[property];
396
+ if (native === undefined) {
397
+ return;
398
+ }
399
+ const want = resolveStyles(ex, target, property, snapshot);
400
+ for (let i = 0; i < native.length; i++) {
401
+ const w = want[i];
402
+ // a size is written from the width and the height together: one the block leaves unset reads back too
403
+ const writable = w !== null || property === "width" || property === "height";
404
+ if (writable && native[i] !== w && native[i] !== null && native[i] === written(w, i)) {
405
+ native[i] = w;
406
+ }
407
+ }
408
+ };
409
+ const width = resolveStyles(ex, "node", "width", snapshot);
410
+ const height = resolveStyles(ex, "node", "height", snapshot);
411
+ const size = (i) => {
412
+ const w = width[i];
413
+ const h = height[i];
414
+ return typeof w === "number" && typeof h === "number" ? Math.max(w, h) : (w ?? h);
415
+ };
416
+ const read = new Map([
417
+ ["disc", "ellipse"],
418
+ ["square", "rectangle"],
419
+ ]);
420
+ exact(node, "node", "shape", (v) => {
421
+ const written = gexfNodeShape(String(v)).value;
422
+ return read.get(written) ?? written;
423
+ });
424
+ exact(edge, "edge", "lineStyle", (v) => gexfEdgeShape(String(v)).value);
425
+ exact(node, "node", "width", (_v, i) => size(i));
426
+ exact(node, "node", "height", (_v, i) => size(i));
427
+ }
428
+ /**
429
+ * The dtype a tagged column is written with: numbers, booleans or text (a mixed column as text).
430
+ * @param col - the values
431
+ * @returns the dtype
432
+ */
433
+ function tagDtype(col) {
434
+ const kinds = new Set(col.filter((v) => v !== null).map((v) => typeof v));
435
+ if (kinds.size === 1 && kinds.has("number")) {
436
+ return "f64";
437
+ }
438
+ return kinds.size === 1 && kinds.has("boolean") ? "bool" : "string";
439
+ }
440
+ /**
441
+ * Works out a GEXF export with styles: the snapshot to write, the viz elements of each element from what graphty
442
+ * draws, the block element and the approximations.
443
+ * @param snapshot - the graph handed to the exporter
444
+ * @param input - the styles, or undefined when none are written
445
+ * @returns the styled export, or null without styles
446
+ */
447
+ export function gexfStyledExport(snapshot, input) {
448
+ if (input === undefined) {
449
+ return null;
450
+ }
451
+ const p = (target, property) => input.picture(target, property);
452
+ const fill = p("node", "fill");
453
+ const fillOpacity = p("node", "fillOpacity");
454
+ const image = p("node", "image");
455
+ const color = p("edge", "color");
456
+ const opacity = p("edge", "opacity");
457
+ const thickness = p("edge", "width");
458
+ const height = p("node", "height");
459
+ // the approximations are counted once, up front, so check() reports them before anything is written
460
+ const approximated = new StyleApproximations();
461
+ const nodeShapes = p("node", "shape").map((s, i) => gexfShapeOf(s, typeof image[i] === "string", approximated));
462
+ const nodeSizes = p("node", "width").map((w, i) => gexfSizeOf(w, height[i], approximated));
463
+ const edgeShapes = p("edge", "lineStyle").map((s) => gexfLineOf(s, approximated));
464
+ return {
465
+ snapshot: withTagColumns(snapshot, input),
466
+ blockElement: `<graphty:styles xmlns:graphty="${GRAPHTY_XML_NAMESPACE}" name="${STYLE_BLOCK_NAME}">${escapeXml(input.block)}</graphty:styles>`,
467
+ notes: approximated.notes("GEXF"),
468
+ node(i, indent) {
469
+ const size = nodeSizes[i];
470
+ const s = nodeShapes[i];
471
+ return (colorElement(fill[i], fillOpacity[i], indent) +
472
+ (size === null ? "" : `${indent}<viz:size value="${String(size)}"/>\n`) +
473
+ shapeElement(s, s === "image" ? String(image[i]) : null, indent));
474
+ },
475
+ edge(e, indent) {
476
+ const w = thickness[e];
477
+ return (colorElement(color[e], opacity[e], indent) +
478
+ (typeof w === "number" ? `${indent}<viz:thickness value="${String(w)}"/>\n` : "") +
479
+ shapeElement(edgeShapes[e], null, indent));
480
+ },
481
+ };
482
+ }
483
+ /**
484
+ * The snapshot to write: the viz columns the styles replace removed, the tagged style values and the drawn labels
485
+ * added.
486
+ * @param snapshot - the graph handed to the exporter
487
+ * @param input - the styles
488
+ * @returns the snapshot
489
+ */
490
+ function withTagColumns(snapshot, input) {
491
+ const out = snapshot.withColumns();
492
+ for (const target of ["node", "edge"]) {
493
+ const table = target === "node" ? out.nodes : out.edges;
494
+ for (const name of VIZ_COLUMNS[target]) {
495
+ if (table.get(name)?.meta.origin?.namespace === VIZ_NAMESPACE) {
496
+ table.remove(name);
497
+ }
498
+ }
499
+ for (const [name, col] of input.tags[target]) {
500
+ const dtype = tagDtype(col);
501
+ table.set(name, dtype === "string" ? col.map((v) => (v === null ? null : String(v))) : col, { dtype });
502
+ }
503
+ }
504
+ // a node's label attribute is the label Gephi draws
505
+ const label = input.picture("node", "label").map((v) => (typeof v === "string" ? v : null));
506
+ out.nodes.set(LABEL_COLUMN, label, { dtype: "string", role: "label" }, { replaceRole: true });
507
+ return out;
508
+ }
509
+ /**
510
+ * A node's GEXF shape. A node with a picture is an `image` shape, the only shape GEXF gives a uri: another shape is
511
+ * not written.
512
+ * @param s - the node's shape
513
+ * @param pictured - whether the node has a picture
514
+ * @param approximated - where approximations are counted
515
+ * @returns the shape, or null for none
516
+ */
517
+ function gexfShapeOf(s, pictured, approximated) {
518
+ if (pictured) {
519
+ if (typeof s === "string" && s !== "other:image") {
520
+ approximated.add("node", "shape", s);
521
+ }
522
+ return "image";
523
+ }
524
+ if (typeof s !== "string") {
525
+ return null;
526
+ }
527
+ const g = gexfNodeShape(s);
528
+ if (!g.exact) {
529
+ approximated.add("node", "shape", s);
530
+ }
531
+ return g.value;
532
+ }
533
+ /**
534
+ * An edge's GEXF shape.
535
+ * @param s - the edge's line style
536
+ * @param approximated - where approximations are counted
537
+ * @returns the shape, or null for none
538
+ */
539
+ function gexfLineOf(s, approximated) {
540
+ if (typeof s !== "string") {
541
+ return null;
542
+ }
543
+ const g = gexfEdgeShape(s);
544
+ if (!g.exact) {
545
+ approximated.add("edge", "lineStyle", s);
546
+ }
547
+ return g.value;
548
+ }
549
+ /**
550
+ * A node's GEXF size: one value, the larger of a width and height that differ.
551
+ * @param w - the node's width
552
+ * @param h - its height
553
+ * @param approximated - where approximations are counted
554
+ * @returns the size, or null for none
555
+ */
556
+ function gexfSizeOf(w, h, approximated) {
557
+ if (typeof w === "number" && typeof h === "number" && w !== h) {
558
+ approximated.add("node", w > h ? "height" : "width", `${String(w)} x ${String(h)}`);
559
+ return Math.max(w, h);
560
+ }
561
+ if (typeof w === "number") {
562
+ return w;
563
+ }
564
+ return typeof h === "number" ? h : null;
565
+ }
566
+ /**
567
+ * A `<viz:color>` element.
568
+ * @param hex - the color, `#rrggbb`
569
+ * @param alpha - its opacity
570
+ * @param indent - the indentation
571
+ * @returns the element, "" without a color
572
+ */
573
+ function colorElement(hex, alpha, indent) {
574
+ if (typeof hex !== "string") {
575
+ return "";
576
+ }
577
+ const n = Number.parseInt(hex.slice(1), 16);
578
+ const a = typeof alpha === "number" && alpha !== 1 ? ` a="${String(alpha)}"` : "";
579
+ return `${indent}<viz:color r="${String((n >> 16) & 255)}" g="${String((n >> 8) & 255)}" b="${String(n & 255)}"${a}/>\n`;
580
+ }
581
+ /**
582
+ * A `<viz:shape>` element.
583
+ * @param shape - the GEXF shape, or null
584
+ * @param uri - the picture of an `image` shape, or null
585
+ * @param indent - the indentation
586
+ * @returns the element, "" without a shape
587
+ */
588
+ function shapeElement(shape, uri, indent) {
589
+ if (shape === null) {
590
+ return "";
591
+ }
592
+ return uri === null
593
+ ? `${indent}<viz:shape value="${shape}"/>\n`
594
+ : `${indent}<viz:shape value="${shape}" uri="${escapeXml(uri)}"/>\n`;
595
+ }
596
+ /**
597
+ * Text as XML character data or an attribute value.
598
+ * @param text - the text
599
+ * @returns the escaped text
600
+ */
601
+ function escapeXml(text) {
602
+ return text.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll('"', "&quot;");
603
+ }
604
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/formats/gexf/styles.ts"],"names":[],"mappings":"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"}
@@ -76,11 +76,7 @@ export declare const INVALID_KEY_CODE = "E_GML_INVALID_KEY";
76
76
  * @category Issue and loss codes
77
77
  */
78
78
  export declare const RESERVED_KEY_CODE = "E_GML_RESERVED_KEY";
79
- /**
80
- * Keys rewritten under sanitizeKeys "mangle".
81
- * @category Issue and loss codes
82
- */
83
- export declare const KEY_MANGLED_CODE = "W_GML_KEY_MANGLED";
79
+ export { KEY_MANGLED_CODE } from "./syntax.js";
84
80
  /**
85
81
  * A position column with more than three components; x, y and z are written.
86
82
  * @category Issue and loss codes