@graphty/graph-io 0.3.25 → 0.3.27

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 (581) hide show
  1. package/README.md +49 -414
  2. package/dist/chunks/children-CL3Cy0ez.js.map +1 -1
  3. package/dist/chunks/choose-DrXtu_96.js +56 -0
  4. package/dist/chunks/choose-DrXtu_96.js.map +1 -0
  5. package/dist/chunks/constants-ikG85dT8.js +231 -0
  6. package/dist/chunks/constants-ikG85dT8.js.map +1 -0
  7. package/dist/chunks/{escape-B-tkk_Cl.js → escape-D1HPTUrP.js} +390 -99
  8. package/dist/chunks/escape-D1HPTUrP.js.map +1 -0
  9. package/dist/chunks/export-CHd4tQE2.js +4333 -0
  10. package/dist/chunks/export-CHd4tQE2.js.map +1 -0
  11. package/dist/chunks/{importer-eUREhBGj.js → exporter-D23CKNqF.js} +4969 -3201
  12. package/dist/chunks/exporter-D23CKNqF.js.map +1 -0
  13. package/dist/chunks/{exporter-DIeGJXAZ.js → exporter-DfWTgrti.js} +23 -21
  14. package/dist/chunks/exporter-DfWTgrti.js.map +1 -0
  15. package/dist/chunks/exporter-DhtW6FxK.js +3465 -0
  16. package/dist/chunks/exporter-DhtW6FxK.js.map +1 -0
  17. package/dist/chunks/{exporter-BGrsWamJ.js → exporter-IHv4nkCm.js} +38 -229
  18. package/dist/chunks/exporter-IHv4nkCm.js.map +1 -0
  19. package/dist/chunks/{importer-BWY2FFc5.js → importer-B1wmPQjr.js} +255 -77
  20. package/dist/chunks/importer-B1wmPQjr.js.map +1 -0
  21. package/dist/chunks/{importer-D_e7e7LX.js → importer-B2W_58pz.js} +399 -146
  22. package/dist/chunks/importer-B2W_58pz.js.map +1 -0
  23. package/dist/chunks/importer-BSALvkui.js +2811 -0
  24. package/dist/chunks/importer-BSALvkui.js.map +1 -0
  25. package/dist/chunks/{importer-vi3bSdtw.js → importer-BVRE--Un.js} +510 -77
  26. package/dist/chunks/importer-BVRE--Un.js.map +1 -0
  27. package/dist/chunks/{importer-DET1tg6s.js → importer-CIAzt-wo.js} +1689 -312
  28. package/dist/chunks/importer-CIAzt-wo.js.map +1 -0
  29. package/dist/chunks/{importer-DIrbbnAf.js → importer-DpEW5zeG.js} +585 -226
  30. package/dist/chunks/importer-DpEW5zeG.js.map +1 -0
  31. package/dist/chunks/{importer-zGLo8Dg_.js → importer-z_FL4VMb.js} +488 -161
  32. package/dist/chunks/importer-z_FL4VMb.js.map +1 -0
  33. package/dist/chunks/json-elements-BAmNBZok.js +1225 -0
  34. package/dist/chunks/json-elements-BAmNBZok.js.map +1 -0
  35. package/dist/chunks/ontology-export-Bab4eUA8.js +357 -0
  36. package/dist/chunks/ontology-export-Bab4eUA8.js.map +1 -0
  37. package/dist/chunks/{records-dbRkxwaq.js → records-CdlvL4RO.js} +298 -114
  38. package/dist/chunks/records-CdlvL4RO.js.map +1 -0
  39. package/dist/chunks/{text-Dr0Ifpag.js → text-DzXjAiTl.js} +29 -11
  40. package/dist/chunks/text-DzXjAiTl.js.map +1 -0
  41. package/dist/chunks/{writer-C7flM-Ih.js → writer-DxjgHwSe.js} +19 -1
  42. package/dist/chunks/writer-DxjgHwSe.js.map +1 -0
  43. package/dist/csv.js +952 -262
  44. package/dist/csv.js.map +1 -1
  45. package/dist/cx.js +6 -3
  46. package/dist/cx2.js +2 -2
  47. package/dist/cys.js +6 -3
  48. package/dist/dot.js +1 -1
  49. package/dist/gexf.js +554 -122
  50. package/dist/gexf.js.map +1 -1
  51. package/dist/gml.js +344 -87
  52. package/dist/gml.js.map +1 -1
  53. package/dist/graph-io.js +1105 -213
  54. package/dist/graph-io.js.map +1 -1
  55. package/dist/graphml.js +3 -2
  56. package/dist/graphml.js.map +1 -1
  57. package/dist/json.js +3 -2
  58. package/dist/neo4j.js +565 -158
  59. package/dist/neo4j.js.map +1 -1
  60. package/dist/obo.js +6 -3
  61. package/dist/pajek.js +1 -1
  62. package/dist/src/children.d.ts +18 -6
  63. package/dist/src/children.d.ts.map +1 -1
  64. package/dist/src/children.js +6 -3
  65. package/dist/src/children.js.map +1 -1
  66. package/dist/src/common/attributes.d.ts +29 -11
  67. package/dist/src/common/attributes.d.ts.map +1 -1
  68. package/dist/src/common/attributes.js +25 -7
  69. package/dist/src/common/attributes.js.map +1 -1
  70. package/dist/src/common/cell-budget.d.ts +9 -2
  71. package/dist/src/common/cell-budget.d.ts.map +1 -1
  72. package/dist/src/common/cell-budget.js +11 -3
  73. package/dist/src/common/cell-budget.js.map +1 -1
  74. package/dist/src/common/choose.d.ts +19 -0
  75. package/dist/src/common/choose.d.ts.map +1 -0
  76. package/dist/src/common/choose.js +72 -0
  77. package/dist/src/common/choose.js.map +1 -0
  78. package/dist/src/common/codes.d.ts +456 -66
  79. package/dist/src/common/codes.d.ts.map +1 -1
  80. package/dist/src/common/codes.js +458 -66
  81. package/dist/src/common/codes.js.map +1 -1
  82. package/dist/src/common/compare.d.ts +81 -0
  83. package/dist/src/common/compare.d.ts.map +1 -0
  84. package/dist/src/common/compare.js +394 -0
  85. package/dist/src/common/compare.js.map +1 -0
  86. package/dist/src/common/cx-export.d.ts +123 -0
  87. package/dist/src/common/cx-export.d.ts.map +1 -0
  88. package/dist/src/common/cx-export.js +334 -0
  89. package/dist/src/common/cx-export.js.map +1 -0
  90. package/dist/src/common/declared-types.d.ts +22 -2
  91. package/dist/src/common/declared-types.d.ts.map +1 -1
  92. package/dist/src/common/declared-types.js +21 -3
  93. package/dist/src/common/declared-types.js.map +1 -1
  94. package/dist/src/common/direction.d.ts +74 -50
  95. package/dist/src/common/direction.d.ts.map +1 -1
  96. package/dist/src/common/direction.js +47 -27
  97. package/dist/src/common/direction.js.map +1 -1
  98. package/dist/src/common/escape.d.ts +21 -9
  99. package/dist/src/common/escape.d.ts.map +1 -1
  100. package/dist/src/common/escape.js +39 -22
  101. package/dist/src/common/escape.js.map +1 -1
  102. package/dist/src/common/export.d.ts +144 -32
  103. package/dist/src/common/export.d.ts.map +1 -1
  104. package/dist/src/common/export.js +216 -42
  105. package/dist/src/common/export.js.map +1 -1
  106. package/dist/src/common/format.d.ts +23 -1
  107. package/dist/src/common/format.d.ts.map +1 -1
  108. package/dist/src/common/format.js +26 -1
  109. package/dist/src/common/format.js.map +1 -1
  110. package/dist/src/common/ids.d.ts +9 -2
  111. package/dist/src/common/ids.d.ts.map +1 -1
  112. package/dist/src/common/ids.js +6 -2
  113. package/dist/src/common/ids.js.map +1 -1
  114. package/dist/src/common/input.d.ts +122 -28
  115. package/dist/src/common/input.d.ts.map +1 -1
  116. package/dist/src/common/input.js +890 -124
  117. package/dist/src/common/input.js.map +1 -1
  118. package/dist/src/common/json-elements.d.ts +144 -20
  119. package/dist/src/common/json-elements.d.ts.map +1 -1
  120. package/dist/src/common/json-elements.js +869 -189
  121. package/dist/src/common/json-elements.js.map +1 -1
  122. package/dist/src/common/line-format.d.ts +90 -0
  123. package/dist/src/common/line-format.d.ts.map +1 -0
  124. package/dist/src/common/line-format.js +185 -0
  125. package/dist/src/common/line-format.js.map +1 -0
  126. package/dist/src/common/lists.d.ts +6 -1
  127. package/dist/src/common/lists.d.ts.map +1 -1
  128. package/dist/src/common/lists.js +3 -1
  129. package/dist/src/common/lists.js.map +1 -1
  130. package/dist/src/common/ontology-export.d.ts +167 -0
  131. package/dist/src/common/ontology-export.d.ts.map +1 -0
  132. package/dist/src/common/ontology-export.js +359 -0
  133. package/dist/src/common/ontology-export.js.map +1 -0
  134. package/dist/src/common/ontology.d.ts +25 -3
  135. package/dist/src/common/ontology.d.ts.map +1 -1
  136. package/dist/src/common/ontology.js +30 -9
  137. package/dist/src/common/ontology.js.map +1 -1
  138. package/dist/src/common/options.d.ts +62 -12
  139. package/dist/src/common/options.d.ts.map +1 -1
  140. package/dist/src/common/options.js +89 -11
  141. package/dist/src/common/options.js.map +1 -1
  142. package/dist/src/common/plural.d.ts +31 -0
  143. package/dist/src/common/plural.d.ts.map +1 -0
  144. package/dist/src/common/plural.js +46 -0
  145. package/dist/src/common/plural.js.map +1 -0
  146. package/dist/src/common/report.d.ts +72 -14
  147. package/dist/src/common/report.d.ts.map +1 -1
  148. package/dist/src/common/report.js +146 -22
  149. package/dist/src/common/report.js.map +1 -1
  150. package/dist/src/common/temporal.d.ts +22 -5
  151. package/dist/src/common/temporal.d.ts.map +1 -1
  152. package/dist/src/common/temporal.js +13 -2
  153. package/dist/src/common/temporal.js.map +1 -1
  154. package/dist/src/common/text.d.ts +39 -23
  155. package/dist/src/common/text.d.ts.map +1 -1
  156. package/dist/src/common/text.js +51 -21
  157. package/dist/src/common/text.js.map +1 -1
  158. package/dist/src/common/weights.d.ts +37 -4
  159. package/dist/src/common/weights.d.ts.map +1 -1
  160. package/dist/src/common/weights.js +61 -2
  161. package/dist/src/common/weights.js.map +1 -1
  162. package/dist/src/common/writer.d.ts +19 -3
  163. package/dist/src/common/writer.d.ts.map +1 -1
  164. package/dist/src/common/writer.js +30 -2
  165. package/dist/src/common/writer.js.map +1 -1
  166. package/dist/src/common/xml.d.ts +125 -9
  167. package/dist/src/common/xml.d.ts.map +1 -1
  168. package/dist/src/common/xml.js +402 -85
  169. package/dist/src/common/xml.js.map +1 -1
  170. package/dist/src/common/zip.d.ts +44 -4
  171. package/dist/src/common/zip.d.ts.map +1 -1
  172. package/dist/src/common/zip.js +134 -5
  173. package/dist/src/common/zip.js.map +1 -1
  174. package/dist/src/formats/csv/exporter.d.ts +80 -24
  175. package/dist/src/formats/csv/exporter.d.ts.map +1 -1
  176. package/dist/src/formats/csv/exporter.js +146 -33
  177. package/dist/src/formats/csv/exporter.js.map +1 -1
  178. package/dist/src/formats/csv/header.d.ts +38 -9
  179. package/dist/src/formats/csv/header.d.ts.map +1 -1
  180. package/dist/src/formats/csv/header.js +46 -10
  181. package/dist/src/formats/csv/header.js.map +1 -1
  182. package/dist/src/formats/csv/importer.d.ts +187 -37
  183. package/dist/src/formats/csv/importer.d.ts.map +1 -1
  184. package/dist/src/formats/csv/importer.js +835 -204
  185. package/dist/src/formats/csv/importer.js.map +1 -1
  186. package/dist/src/formats/csv/index.d.ts +100 -19
  187. package/dist/src/formats/csv/index.d.ts.map +1 -1
  188. package/dist/src/formats/csv/index.js +94 -21
  189. package/dist/src/formats/csv/index.js.map +1 -1
  190. package/dist/src/formats/csv/records.d.ts +95 -10
  191. package/dist/src/formats/csv/records.d.ts.map +1 -1
  192. package/dist/src/formats/csv/records.js +333 -122
  193. package/dist/src/formats/csv/records.js.map +1 -1
  194. package/dist/src/formats/csv/values.d.ts +1 -0
  195. package/dist/src/formats/csv/values.d.ts.map +1 -1
  196. package/dist/src/formats/csv/values.js +1 -0
  197. package/dist/src/formats/csv/values.js.map +1 -1
  198. package/dist/src/formats/cx/exporter.d.ts +102 -0
  199. package/dist/src/formats/cx/exporter.d.ts.map +1 -0
  200. package/dist/src/formats/cx/exporter.js +1217 -0
  201. package/dist/src/formats/cx/exporter.js.map +1 -0
  202. package/dist/src/formats/cx/importer.d.ts +79 -32
  203. package/dist/src/formats/cx/importer.d.ts.map +1 -1
  204. package/dist/src/formats/cx/importer.js +682 -287
  205. package/dist/src/formats/cx/importer.js.map +1 -1
  206. package/dist/src/formats/cx/index.d.ts +4 -3
  207. package/dist/src/formats/cx/index.d.ts.map +1 -1
  208. package/dist/src/formats/cx/index.js +4 -3
  209. package/dist/src/formats/cx/index.js.map +1 -1
  210. package/dist/src/formats/cx2/exporter.d.ts +29 -11
  211. package/dist/src/formats/cx2/exporter.d.ts.map +1 -1
  212. package/dist/src/formats/cx2/exporter.js +39 -268
  213. package/dist/src/formats/cx2/exporter.js.map +1 -1
  214. package/dist/src/formats/cx2/importer.d.ts +78 -28
  215. package/dist/src/formats/cx2/importer.d.ts.map +1 -1
  216. package/dist/src/formats/cx2/importer.js +227 -80
  217. package/dist/src/formats/cx2/importer.js.map +1 -1
  218. package/dist/src/formats/cx2/index.d.ts +2 -1
  219. package/dist/src/formats/cx2/index.d.ts.map +1 -1
  220. package/dist/src/formats/cx2/index.js +2 -1
  221. package/dist/src/formats/cx2/index.js.map +1 -1
  222. package/dist/src/formats/cys/constants.d.ts +66 -17
  223. package/dist/src/formats/cys/constants.d.ts.map +1 -1
  224. package/dist/src/formats/cys/constants.js +59 -18
  225. package/dist/src/formats/cys/constants.js.map +1 -1
  226. package/dist/src/formats/cys/exporter.d.ts +118 -0
  227. package/dist/src/formats/cys/exporter.d.ts.map +1 -0
  228. package/dist/src/formats/cys/exporter.js +1072 -0
  229. package/dist/src/formats/cys/exporter.js.map +1 -0
  230. package/dist/src/formats/cys/importer.d.ts +22 -8
  231. package/dist/src/formats/cys/importer.d.ts.map +1 -1
  232. package/dist/src/formats/cys/importer.js +510 -149
  233. package/dist/src/formats/cys/importer.js.map +1 -1
  234. package/dist/src/formats/cys/index.d.ts +4 -2
  235. package/dist/src/formats/cys/index.d.ts.map +1 -1
  236. package/dist/src/formats/cys/index.js +4 -2
  237. package/dist/src/formats/cys/index.js.map +1 -1
  238. package/dist/src/formats/cys/session.d.ts +46 -7
  239. package/dist/src/formats/cys/session.d.ts.map +1 -1
  240. package/dist/src/formats/cys/session.js +101 -27
  241. package/dist/src/formats/cys/session.js.map +1 -1
  242. package/dist/src/formats/cys/tables.d.ts +9 -2
  243. package/dist/src/formats/cys/tables.d.ts.map +1 -1
  244. package/dist/src/formats/cys/tables.js +29 -7
  245. package/dist/src/formats/cys/tables.js.map +1 -1
  246. package/dist/src/formats/dot/exporter.d.ts +42 -14
  247. package/dist/src/formats/dot/exporter.d.ts.map +1 -1
  248. package/dist/src/formats/dot/exporter.js +56 -29
  249. package/dist/src/formats/dot/exporter.js.map +1 -1
  250. package/dist/src/formats/dot/importer.d.ts +91 -29
  251. package/dist/src/formats/dot/importer.d.ts.map +1 -1
  252. package/dist/src/formats/dot/importer.js +190 -39
  253. package/dist/src/formats/dot/importer.js.map +1 -1
  254. package/dist/src/formats/dot/index.d.ts +2 -1
  255. package/dist/src/formats/dot/index.d.ts.map +1 -1
  256. package/dist/src/formats/dot/index.js +2 -1
  257. package/dist/src/formats/dot/index.js.map +1 -1
  258. package/dist/src/formats/dot/names.d.ts +44 -11
  259. package/dist/src/formats/dot/names.d.ts.map +1 -1
  260. package/dist/src/formats/dot/names.js +44 -11
  261. package/dist/src/formats/dot/names.js.map +1 -1
  262. package/dist/src/formats/dot/tokenizer.d.ts +9 -2
  263. package/dist/src/formats/dot/tokenizer.d.ts.map +1 -1
  264. package/dist/src/formats/dot/tokenizer.js +20 -5
  265. package/dist/src/formats/dot/tokenizer.js.map +1 -1
  266. package/dist/src/formats/gexf/exporter.d.ts +46 -15
  267. package/dist/src/formats/gexf/exporter.d.ts.map +1 -1
  268. package/dist/src/formats/gexf/exporter.js +45 -15
  269. package/dist/src/formats/gexf/exporter.js.map +1 -1
  270. package/dist/src/formats/gexf/importer.d.ts +87 -23
  271. package/dist/src/formats/gexf/importer.d.ts.map +1 -1
  272. package/dist/src/formats/gexf/importer.js +471 -90
  273. package/dist/src/formats/gexf/importer.js.map +1 -1
  274. package/dist/src/formats/gexf/index.d.ts +84 -21
  275. package/dist/src/formats/gexf/index.d.ts.map +1 -1
  276. package/dist/src/formats/gexf/index.js +80 -23
  277. package/dist/src/formats/gexf/index.js.map +1 -1
  278. package/dist/src/formats/gexf/schema.d.ts +67 -15
  279. package/dist/src/formats/gexf/schema.d.ts.map +1 -1
  280. package/dist/src/formats/gexf/schema.js +59 -13
  281. package/dist/src/formats/gexf/schema.js.map +1 -1
  282. package/dist/src/formats/gml/exporter.d.ts +69 -21
  283. package/dist/src/formats/gml/exporter.d.ts.map +1 -1
  284. package/dist/src/formats/gml/exporter.js +74 -29
  285. package/dist/src/formats/gml/exporter.js.map +1 -1
  286. package/dist/src/formats/gml/importer.d.ts +116 -25
  287. package/dist/src/formats/gml/importer.d.ts.map +1 -1
  288. package/dist/src/formats/gml/importer.js +290 -61
  289. package/dist/src/formats/gml/importer.js.map +1 -1
  290. package/dist/src/formats/gml/index.d.ts +87 -24
  291. package/dist/src/formats/gml/index.d.ts.map +1 -1
  292. package/dist/src/formats/gml/index.js +79 -26
  293. package/dist/src/formats/gml/index.js.map +1 -1
  294. package/dist/src/formats/gml/syntax.d.ts +67 -18
  295. package/dist/src/formats/gml/syntax.d.ts.map +1 -1
  296. package/dist/src/formats/gml/syntax.js +110 -28
  297. package/dist/src/formats/gml/syntax.js.map +1 -1
  298. package/dist/src/formats/graphml/constants.d.ts +174 -44
  299. package/dist/src/formats/graphml/constants.d.ts.map +1 -1
  300. package/dist/src/formats/graphml/constants.js +165 -44
  301. package/dist/src/formats/graphml/constants.js.map +1 -1
  302. package/dist/src/formats/graphml/exporter.d.ts +17 -9
  303. package/dist/src/formats/graphml/exporter.d.ts.map +1 -1
  304. package/dist/src/formats/graphml/exporter.js +33 -12
  305. package/dist/src/formats/graphml/exporter.js.map +1 -1
  306. package/dist/src/formats/graphml/importer.d.ts +19 -7
  307. package/dist/src/formats/graphml/importer.d.ts.map +1 -1
  308. package/dist/src/formats/graphml/importer.js +466 -39
  309. package/dist/src/formats/graphml/importer.js.map +1 -1
  310. package/dist/src/formats/graphml/index.d.ts +2 -1
  311. package/dist/src/formats/graphml/index.d.ts.map +1 -1
  312. package/dist/src/formats/graphml/index.js +2 -1
  313. package/dist/src/formats/graphml/index.js.map +1 -1
  314. package/dist/src/formats/graphml/tree.d.ts +6 -2
  315. package/dist/src/formats/graphml/tree.d.ts.map +1 -1
  316. package/dist/src/formats/graphml/tree.js +6 -2
  317. package/dist/src/formats/graphml/tree.js.map +1 -1
  318. package/dist/src/formats/graphml/yfiles.d.ts +8 -3
  319. package/dist/src/formats/graphml/yfiles.d.ts.map +1 -1
  320. package/dist/src/formats/graphml/yfiles.js +36 -15
  321. package/dist/src/formats/graphml/yfiles.js.map +1 -1
  322. package/dist/src/formats/json/dialect.d.ts +88 -24
  323. package/dist/src/formats/json/dialect.d.ts.map +1 -1
  324. package/dist/src/formats/json/dialect.js +109 -19
  325. package/dist/src/formats/json/dialect.js.map +1 -1
  326. package/dist/src/formats/json/exporter.d.ts +134 -22
  327. package/dist/src/formats/json/exporter.d.ts.map +1 -1
  328. package/dist/src/formats/json/exporter.js +135 -54
  329. package/dist/src/formats/json/exporter.js.map +1 -1
  330. package/dist/src/formats/json/importer.d.ts +173 -52
  331. package/dist/src/formats/json/importer.d.ts.map +1 -1
  332. package/dist/src/formats/json/importer.js +899 -220
  333. package/dist/src/formats/json/importer.js.map +1 -1
  334. package/dist/src/formats/json/index.d.ts +3 -2
  335. package/dist/src/formats/json/index.d.ts.map +1 -1
  336. package/dist/src/formats/json/index.js +3 -2
  337. package/dist/src/formats/json/index.js.map +1 -1
  338. package/dist/src/formats/json/obographs-export.d.ts +68 -0
  339. package/dist/src/formats/json/obographs-export.d.ts.map +1 -0
  340. package/dist/src/formats/json/obographs-export.js +941 -0
  341. package/dist/src/formats/json/obographs-export.js.map +1 -0
  342. package/dist/src/formats/json/obographs.d.ts +26 -0
  343. package/dist/src/formats/json/obographs.d.ts.map +1 -1
  344. package/dist/src/formats/json/obographs.js +297 -80
  345. package/dist/src/formats/json/obographs.js.map +1 -1
  346. package/dist/src/formats/neo4j/exporter.d.ts +109 -21
  347. package/dist/src/formats/neo4j/exporter.d.ts.map +1 -1
  348. package/dist/src/formats/neo4j/exporter.js +239 -86
  349. package/dist/src/formats/neo4j/exporter.js.map +1 -1
  350. package/dist/src/formats/neo4j/header.d.ts +17 -4
  351. package/dist/src/formats/neo4j/header.d.ts.map +1 -1
  352. package/dist/src/formats/neo4j/header.js +36 -4
  353. package/dist/src/formats/neo4j/header.js.map +1 -1
  354. package/dist/src/formats/neo4j/importer.d.ts +107 -27
  355. package/dist/src/formats/neo4j/importer.d.ts.map +1 -1
  356. package/dist/src/formats/neo4j/importer.js +415 -63
  357. package/dist/src/formats/neo4j/importer.js.map +1 -1
  358. package/dist/src/formats/neo4j/index.d.ts +73 -23
  359. package/dist/src/formats/neo4j/index.d.ts.map +1 -1
  360. package/dist/src/formats/neo4j/index.js +65 -25
  361. package/dist/src/formats/neo4j/index.js.map +1 -1
  362. package/dist/src/formats/obo/exporter.d.ts +150 -0
  363. package/dist/src/formats/obo/exporter.d.ts.map +1 -0
  364. package/dist/src/formats/obo/exporter.js +1736 -0
  365. package/dist/src/formats/obo/exporter.js.map +1 -0
  366. package/dist/src/formats/obo/importer.d.ts +95 -19
  367. package/dist/src/formats/obo/importer.d.ts.map +1 -1
  368. package/dist/src/formats/obo/importer.js +475 -104
  369. package/dist/src/formats/obo/importer.js.map +1 -1
  370. package/dist/src/formats/obo/index.d.ts +6 -3
  371. package/dist/src/formats/obo/index.d.ts.map +1 -1
  372. package/dist/src/formats/obo/index.js +6 -3
  373. package/dist/src/formats/obo/index.js.map +1 -1
  374. package/dist/src/formats/obo/syntax.d.ts +108 -4
  375. package/dist/src/formats/obo/syntax.d.ts.map +1 -1
  376. package/dist/src/formats/obo/syntax.js +211 -34
  377. package/dist/src/formats/obo/syntax.js.map +1 -1
  378. package/dist/src/formats/pajek/exporter.d.ts +54 -16
  379. package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
  380. package/dist/src/formats/pajek/exporter.js +67 -35
  381. package/dist/src/formats/pajek/exporter.js.map +1 -1
  382. package/dist/src/formats/pajek/importer.d.ts +84 -22
  383. package/dist/src/formats/pajek/importer.d.ts.map +1 -1
  384. package/dist/src/formats/pajek/importer.js +303 -83
  385. package/dist/src/formats/pajek/importer.js.map +1 -1
  386. package/dist/src/formats/pajek/index.d.ts +2 -1
  387. package/dist/src/formats/pajek/index.d.ts.map +1 -1
  388. package/dist/src/formats/pajek/index.js +2 -1
  389. package/dist/src/formats/pajek/index.js.map +1 -1
  390. package/dist/src/formats/pajek/syntax.d.ts +77 -14
  391. package/dist/src/formats/pajek/syntax.d.ts.map +1 -1
  392. package/dist/src/formats/pajek/syntax.js +186 -54
  393. package/dist/src/formats/pajek/syntax.js.map +1 -1
  394. package/dist/src/formats/xgmml/columns.d.ts +1 -0
  395. package/dist/src/formats/xgmml/columns.d.ts.map +1 -1
  396. package/dist/src/formats/xgmml/columns.js +4 -0
  397. package/dist/src/formats/xgmml/columns.js.map +1 -1
  398. package/dist/src/formats/xgmml/constants.d.ts +186 -56
  399. package/dist/src/formats/xgmml/constants.d.ts.map +1 -1
  400. package/dist/src/formats/xgmml/constants.js +181 -57
  401. package/dist/src/formats/xgmml/constants.js.map +1 -1
  402. package/dist/src/formats/xgmml/document.d.ts +65 -11
  403. package/dist/src/formats/xgmml/document.d.ts.map +1 -1
  404. package/dist/src/formats/xgmml/document.js +157 -28
  405. package/dist/src/formats/xgmml/document.js.map +1 -1
  406. package/dist/src/formats/xgmml/emit.d.ts +61 -3
  407. package/dist/src/formats/xgmml/emit.d.ts.map +1 -1
  408. package/dist/src/formats/xgmml/emit.js +129 -26
  409. package/dist/src/formats/xgmml/emit.js.map +1 -1
  410. package/dist/src/formats/xgmml/exporter.d.ts +13 -6
  411. package/dist/src/formats/xgmml/exporter.d.ts.map +1 -1
  412. package/dist/src/formats/xgmml/exporter.js +21 -22
  413. package/dist/src/formats/xgmml/exporter.js.map +1 -1
  414. package/dist/src/formats/xgmml/importer.d.ts +33 -12
  415. package/dist/src/formats/xgmml/importer.d.ts.map +1 -1
  416. package/dist/src/formats/xgmml/importer.js +35 -72
  417. package/dist/src/formats/xgmml/importer.js.map +1 -1
  418. package/dist/src/formats/xgmml/index.d.ts +1 -0
  419. package/dist/src/formats/xgmml/index.d.ts.map +1 -1
  420. package/dist/src/formats/xgmml/index.js +1 -0
  421. package/dist/src/formats/xgmml/index.js.map +1 -1
  422. package/dist/src/formats/xgmml/values.d.ts +8 -1
  423. package/dist/src/formats/xgmml/values.d.ts.map +1 -1
  424. package/dist/src/formats/xgmml/values.js +8 -3
  425. package/dist/src/formats/xgmml/values.js.map +1 -1
  426. package/dist/src/index.d.ts +23 -18
  427. package/dist/src/index.d.ts.map +1 -1
  428. package/dist/src/index.js +28 -16
  429. package/dist/src/index.js.map +1 -1
  430. package/dist/src/registry.d.ts +478 -92
  431. package/dist/src/registry.d.ts.map +1 -1
  432. package/dist/src/registry.js +807 -88
  433. package/dist/src/registry.js.map +1 -1
  434. package/dist/src/sniff.d.ts +61 -19
  435. package/dist/src/sniff.d.ts.map +1 -1
  436. package/dist/src/sniff.js +121 -29
  437. package/dist/src/sniff.js.map +1 -1
  438. package/dist/src/types.d.ts +362 -112
  439. package/dist/src/types.d.ts.map +1 -1
  440. package/dist/src/types.js +28 -7
  441. package/dist/src/types.js.map +1 -1
  442. package/dist/xgmml.js +2 -2
  443. package/docs/samples/README.md +25 -0
  444. package/docs/samples/got-edges.csv +353 -0
  445. package/docs/samples/got-network.graphml +1384 -0
  446. package/docs/samples/got-nodes.csv +108 -0
  447. package/docs/samples/got.cx +930 -0
  448. package/docs/samples/got.cx2 +465 -0
  449. package/docs/samples/got.gexf +471 -0
  450. package/docs/samples/got.gml +2650 -0
  451. package/docs/samples/got.json +2546 -0
  452. package/docs/samples/got.net +461 -0
  453. package/docs/samples/movies-nodes.csv +9 -0
  454. package/docs/samples/movies-rels.csv +8 -0
  455. package/docs/samples/networks.cys +0 -0
  456. package/docs/samples/proteins.xgmml +9 -0
  457. package/docs/samples/teams.gv +24 -0
  458. package/docs/samples/vehicles.obo +25 -0
  459. package/package.json +9 -4
  460. package/src/children.ts +18 -6
  461. package/src/common/attributes.ts +29 -11
  462. package/src/common/cell-budget.ts +11 -3
  463. package/src/common/choose.ts +89 -0
  464. package/src/common/codes.ts +490 -66
  465. package/src/common/compare.ts +472 -0
  466. package/src/common/cx-export.ts +432 -0
  467. package/src/common/declared-types.ts +40 -6
  468. package/src/common/direction.ts +78 -51
  469. package/src/common/escape.ts +39 -22
  470. package/src/common/export.ts +284 -47
  471. package/src/common/format.ts +30 -1
  472. package/src/common/ids.ts +14 -3
  473. package/src/common/input.ts +1057 -134
  474. package/src/common/json-elements.ts +1035 -199
  475. package/src/common/line-format.ts +249 -0
  476. package/src/common/lists.ts +7 -2
  477. package/src/common/ontology-export.ts +461 -0
  478. package/src/common/ontology.ts +31 -9
  479. package/src/common/options.ts +110 -15
  480. package/src/common/plural.ts +49 -0
  481. package/src/common/report.ts +168 -25
  482. package/src/common/temporal.ts +22 -5
  483. package/src/common/text.ts +62 -23
  484. package/src/common/weights.ts +74 -4
  485. package/src/common/writer.ts +37 -3
  486. package/src/common/xml.ts +479 -90
  487. package/src/common/zip.ts +169 -7
  488. package/src/formats/csv/exporter.ts +202 -47
  489. package/src/formats/csv/header.ts +50 -11
  490. package/src/formats/csv/importer.ts +1133 -245
  491. package/src/formats/csv/index.ts +106 -19
  492. package/src/formats/csv/records.ts +396 -122
  493. package/src/formats/csv/values.ts +1 -0
  494. package/src/formats/cx/exporter.ts +1483 -0
  495. package/src/formats/cx/importer.ts +890 -302
  496. package/src/formats/cx/index.ts +4 -3
  497. package/src/formats/cx2/exporter.ts +62 -339
  498. package/src/formats/cx2/importer.ts +318 -87
  499. package/src/formats/cx2/index.ts +2 -1
  500. package/src/formats/cys/constants.ts +62 -17
  501. package/src/formats/cys/exporter.ts +1368 -0
  502. package/src/formats/cys/importer.ts +659 -157
  503. package/src/formats/cys/index.ts +4 -2
  504. package/src/formats/cys/session.ts +142 -34
  505. package/src/formats/cys/tables.ts +47 -9
  506. package/src/formats/dot/exporter.ts +83 -37
  507. package/src/formats/dot/importer.ts +248 -54
  508. package/src/formats/dot/index.ts +2 -1
  509. package/src/formats/dot/names.ts +44 -11
  510. package/src/formats/dot/tokenizer.ts +25 -6
  511. package/src/formats/gexf/exporter.ts +57 -18
  512. package/src/formats/gexf/importer.ts +636 -105
  513. package/src/formats/gexf/index.ts +90 -21
  514. package/src/formats/gexf/schema.ts +67 -15
  515. package/src/formats/gml/exporter.ts +90 -36
  516. package/src/formats/gml/importer.ts +388 -67
  517. package/src/formats/gml/index.ts +85 -24
  518. package/src/formats/gml/syntax.ts +113 -28
  519. package/src/formats/graphml/constants.ts +178 -44
  520. package/src/formats/graphml/exporter.ts +52 -18
  521. package/src/formats/graphml/importer.ts +640 -60
  522. package/src/formats/graphml/index.ts +2 -1
  523. package/src/formats/graphml/tree.ts +6 -2
  524. package/src/formats/graphml/yfiles.ts +37 -15
  525. package/src/formats/json/dialect.ts +128 -29
  526. package/src/formats/json/exporter.ts +205 -68
  527. package/src/formats/json/importer.ts +1163 -253
  528. package/src/formats/json/index.ts +3 -1
  529. package/src/formats/json/obographs-export.ts +1197 -0
  530. package/src/formats/json/obographs.ts +353 -92
  531. package/src/formats/neo4j/exporter.ts +321 -102
  532. package/src/formats/neo4j/header.ts +44 -6
  533. package/src/formats/neo4j/importer.ts +512 -73
  534. package/src/formats/neo4j/index.ts +75 -23
  535. package/src/formats/obo/exporter.ts +2210 -0
  536. package/src/formats/obo/importer.ts +622 -109
  537. package/src/formats/obo/index.ts +6 -3
  538. package/src/formats/obo/syntax.ts +232 -37
  539. package/src/formats/pajek/exporter.ts +90 -42
  540. package/src/formats/pajek/importer.ts +407 -93
  541. package/src/formats/pajek/index.ts +2 -1
  542. package/src/formats/pajek/syntax.ts +216 -55
  543. package/src/formats/xgmml/columns.ts +10 -0
  544. package/src/formats/xgmml/constants.ts +183 -56
  545. package/src/formats/xgmml/document.ts +212 -34
  546. package/src/formats/xgmml/emit.ts +175 -34
  547. package/src/formats/xgmml/exporter.ts +36 -28
  548. package/src/formats/xgmml/importer.ts +64 -86
  549. package/src/formats/xgmml/index.ts +1 -0
  550. package/src/formats/xgmml/values.ts +12 -4
  551. package/src/index.ts +81 -11
  552. package/src/registry.ts +1121 -135
  553. package/src/sniff.ts +163 -32
  554. package/src/types.ts +385 -114
  555. package/dist/chunks/escape-B-tkk_Cl.js.map +0 -1
  556. package/dist/chunks/export-Bh60Dv-n.js +0 -582
  557. package/dist/chunks/export-Bh60Dv-n.js.map +0 -1
  558. package/dist/chunks/exporter-BGrsWamJ.js.map +0 -1
  559. package/dist/chunks/exporter-DIeGJXAZ.js.map +0 -1
  560. package/dist/chunks/importer-BWY2FFc5.js.map +0 -1
  561. package/dist/chunks/importer-DD-xv9_Y.js +0 -1471
  562. package/dist/chunks/importer-DD-xv9_Y.js.map +0 -1
  563. package/dist/chunks/importer-DET1tg6s.js.map +0 -1
  564. package/dist/chunks/importer-DEcKhsmQ.js +0 -1614
  565. package/dist/chunks/importer-DEcKhsmQ.js.map +0 -1
  566. package/dist/chunks/importer-DIrbbnAf.js.map +0 -1
  567. package/dist/chunks/importer-D_e7e7LX.js.map +0 -1
  568. package/dist/chunks/importer-eUREhBGj.js.map +0 -1
  569. package/dist/chunks/importer-vi3bSdtw.js.map +0 -1
  570. package/dist/chunks/importer-zGLo8Dg_.js.map +0 -1
  571. package/dist/chunks/json-elements-DDS8N2Dd.js +0 -779
  572. package/dist/chunks/json-elements-DDS8N2Dd.js.map +0 -1
  573. package/dist/chunks/ontology-BnrJ4I98.js +0 -113
  574. package/dist/chunks/ontology-BnrJ4I98.js.map +0 -1
  575. package/dist/chunks/records-dbRkxwaq.js.map +0 -1
  576. package/dist/chunks/report-B1z4WT9e.js +0 -2372
  577. package/dist/chunks/report-B1z4WT9e.js.map +0 -1
  578. package/dist/chunks/text-Dr0Ifpag.js.map +0 -1
  579. package/dist/chunks/weights-Dzba96G3.js +0 -176
  580. package/dist/chunks/weights-Dzba96G3.js.map +0 -1
  581. package/dist/chunks/writer-C7flM-Ih.js.map +0 -1
@@ -6,13 +6,13 @@
6
6
  * Cytoscape does, and the `.cys` importer reuses the same records for the network and view files
7
7
  * of a session.
8
8
  *
9
- * It recognises the five shapes of `research-xgmml.md` section 2: the 1.0 draft, the Cytoscape
9
+ * It recognizes the five shapes of `research-xgmml.md` section 2: the 1.0 draft, the Cytoscape
10
10
  * 2.x export and session, the 3.x export, the 3.x session network file (root `cy:registered="0"`)
11
11
  * and the 3.x session view file (root `cy:view="1"`).
12
12
  */
13
13
  import { escapeXmlAttribute, escapeXmlText } from "../../common/escape.js";
14
14
  import { isWhitespace, localName } from "../../common/xml.js";
15
- import { XGMML_ISSUE, XGMML_NAMESPACE } from "./constants.js";
15
+ import { XGMML_ISSUE, XGMML_NAMESPACE, XLINK_NAMESPACE } from "./constants.js";
16
16
  /** The XML attributes the parser reads on `<node>`. */
17
17
  const NODE_READ = new Set(["id", "label", "name", "xlink:href", "cy:nodeId"]);
18
18
  /** The XML attributes the parser reads on `<edge>`. */
@@ -45,26 +45,35 @@ const TRUE_TEXT = /^(1|true|yes)$/i;
45
45
  * Whether a Cytoscape flag text is true.
46
46
  * @param text - the text, or undefined
47
47
  * @returns true for 1, true or yes in any case
48
+ * @category Plugin helpers
48
49
  */
49
50
  export function isCyTrue(text) {
50
51
  return text !== null && text !== undefined && TRUE_TEXT.test(text.trim());
51
52
  }
52
53
  /**
53
- * The name an XML attribute is known by, its `xlink` prefix normalised whatever prefix the file
54
- * binds XLink to (galFiltered.xgmml uses `ns1`).
54
+ * The name an XML attribute is known by, its `xlink` prefix normalized whatever prefix the file
55
+ * binds XLink to (galFiltered.xgmml uses `ns1`), on the element itself or on any ancestor; an
56
+ * unbound `xlink:` prefix is XLink too.
55
57
  * @param name - the attribute name as written
56
- * @param xlinkPrefixes - the prefixes bound to the XLink namespace
58
+ * @param scope - the namespace prefixes in scope (prefix to URI, "" for the default)
57
59
  * @returns the name with `xlink:` for XLink attributes
58
60
  */
59
- function normaliseName(name, xlinkPrefixes) {
61
+ function normaliseName(name, scope) {
60
62
  const colon = name.indexOf(":");
61
- if (colon > 0 && xlinkPrefixes.has(name.slice(0, colon))) {
63
+ if (colon <= 0) {
64
+ return name;
65
+ }
66
+ const prefix = name.slice(0, colon);
67
+ if (prefix === "xlink" || scope.get(prefix) === XLINK_NAMESPACE) {
62
68
  return `xlink:${name.slice(colon + 1)}`;
63
69
  }
64
70
  return name;
65
71
  }
72
+ /** The namespaces in scope outside the root element. */
73
+ const NO_SCOPE = new Map();
66
74
  /**
67
75
  * The tokenizer handler that builds an XgmmlDocument.
76
+ * @category Plugin helpers
68
77
  */
69
78
  export class XgmmlParser {
70
79
  /**
@@ -73,7 +82,8 @@ export class XgmmlParser {
73
82
  */
74
83
  constructor(report) {
75
84
  this.frames = [];
76
- this.xlinkPrefixes = new Set(["xlink"]);
85
+ /** The namespace prefixes in scope at each open element (prefix to URI, "" for the default). */
86
+ this.scopes = [];
77
87
  this.rootGraph = null;
78
88
  this.nodes = [];
79
89
  this.edges = [];
@@ -84,6 +94,7 @@ export class XgmmlParser {
84
94
  this.rootPrefix = null;
85
95
  this.rdf = {};
86
96
  this.rdfXml = null;
97
+ this.doctypeText = null;
87
98
  /** The local name of the RDF element whose text is being read, or null. */
88
99
  this.rdfElement = null;
89
100
  this.report = report;
@@ -106,8 +117,16 @@ export class XgmmlParser {
106
117
  xgmmlNamespace: this.xgmmlNamespace,
107
118
  rdf: this.rdf,
108
119
  rdfXml: this.rdfXml,
120
+ doctype: this.doctypeText,
109
121
  };
110
122
  }
123
+ /**
124
+ * The DOCTYPE declaration.
125
+ * @param text - the declaration as written
126
+ */
127
+ doctype(text) {
128
+ this.doctypeText ?? (this.doctypeText = text);
129
+ }
111
130
  /**
112
131
  * An element starts.
113
132
  * @param rawName - the element name as written
@@ -115,6 +134,7 @@ export class XgmmlParser {
115
134
  * @param line - the line
116
135
  */
117
136
  start(rawName, rawAttrs, line) {
137
+ this.enterScope(rawAttrs);
118
138
  const top = this.frames.length === 0 ? null : this.frames[this.frames.length - 1];
119
139
  if (top === null) {
120
140
  this.startRoot(rawName, rawAttrs, line);
@@ -128,8 +148,9 @@ export class XgmmlParser {
128
148
  this.capture(top, rawName, rawAttrs);
129
149
  return;
130
150
  }
131
- const attrs = this.normalise(rawAttrs);
132
- const name = localName(rawName);
151
+ const attrs = this.normalize(rawAttrs);
152
+ // an element of another namespace keeps its prefix, so no XGMML element name matches it
153
+ const name = this.isXgmmlName(rawName) ? localName(rawName) : rawName;
133
154
  switch (top.kind) {
134
155
  case "graph":
135
156
  this.startInGraph(top.graph, rawName, name, attrs, line);
@@ -166,6 +187,7 @@ export class XgmmlParser {
166
187
  * @param _line - the line
167
188
  */
168
189
  end(name, _line) {
190
+ this.scopes.pop();
169
191
  const frame = this.frames.pop();
170
192
  const below = this.frames.length === 0 ? null : this.frames[this.frames.length - 1];
171
193
  switch (frame?.kind) {
@@ -174,8 +196,11 @@ export class XgmmlParser {
174
196
  frame.depth--;
175
197
  if (frame.depth > 0) {
176
198
  this.frames.push(frame);
199
+ this.rdfElement = null;
200
+ return;
177
201
  }
178
- else if (frame.att.name === "networkMetadata") {
202
+ frame.att.xml = bindPrefixes(frame.att.xml, frame.start, frame.scope);
203
+ if (frame.att.name === "networkMetadata") {
179
204
  this.rdfXml = frame.att.xml;
180
205
  }
181
206
  this.rdfElement = null;
@@ -219,15 +244,40 @@ export class XgmmlParser {
219
244
  : "text where XGMML allows only elements was ignored", { line });
220
245
  }
221
246
  // ------------------------------------------------------------------ structure
247
+ /**
248
+ * Open the namespace scope of an element: its parent's, plus the prefixes it declares.
249
+ * @param attrs - the element's attributes as written
250
+ */
251
+ enterScope(attrs) {
252
+ const parent = this.scopes.at(-1) ?? NO_SCOPE;
253
+ let scope = parent;
254
+ for (const [key, value] of attrs) {
255
+ if (key === "xmlns" || key.startsWith("xmlns:")) {
256
+ if (scope === parent) {
257
+ scope = new Map(parent);
258
+ }
259
+ scope.set(key === "xmlns" ? "" : key.slice(6), value);
260
+ }
261
+ }
262
+ this.scopes.push(scope);
263
+ }
264
+ /**
265
+ * The namespace prefixes in scope at the innermost open element.
266
+ * @returns prefix to URI
267
+ */
268
+ get scope() {
269
+ return this.scopes.at(-1) ?? NO_SCOPE;
270
+ }
222
271
  /**
223
272
  * The XML attribute map with every XLink prefix written `xlink:`.
224
273
  * @param attrs - the attributes as written
225
- * @returns the normalised map
274
+ * @returns the normalized map
226
275
  */
227
- normalise(attrs) {
276
+ normalize(attrs) {
228
277
  const out = new Map();
278
+ const { scope } = this;
229
279
  for (const [key, value] of attrs) {
230
- out.set(normaliseName(key, this.xlinkPrefixes), value);
280
+ out.set(normaliseName(key, scope), value);
231
281
  }
232
282
  return out;
233
283
  }
@@ -240,10 +290,7 @@ export class XgmmlParser {
240
290
  startRoot(rawName, rawAttrs, line) {
241
291
  const local = localName(rawName);
242
292
  const prefix = rawName.includes(":") ? rawName.slice(0, rawName.indexOf(":")) : null;
243
- for (const [key, value] of rawAttrs) {
244
- if (key.startsWith("xmlns:") && value === "http://www.w3.org/1999/xlink") {
245
- this.xlinkPrefixes.add(key.slice(6));
246
- }
293
+ for (const key of rawAttrs.keys()) {
247
294
  if (key === "xmlns:cy" || key.startsWith("cy:")) {
248
295
  this.cytoscape = true;
249
296
  }
@@ -254,7 +301,7 @@ export class XgmmlParser {
254
301
  if (local !== "graph") {
255
302
  this.report.fail(XGMML_ISSUE.NO_GRAPH, `the root element is <${rawName}>, not <graph>; an XGMML graph embedded in another document is not read`, { line });
256
303
  }
257
- const graph = this.newGraph(this.normalise(rawAttrs), line, null, null);
304
+ const graph = this.newGraph(this.normalize(rawAttrs), line, null, null);
258
305
  this.rootGraph = graph;
259
306
  this.frames.push({ kind: "graph", graph });
260
307
  }
@@ -314,7 +361,7 @@ export class XgmmlParser {
314
361
  return;
315
362
  }
316
363
  case "graphics":
317
- this.beginGraphics(graph, attrs);
364
+ this.beginGraphics(graph, attrs, line);
318
365
  return;
319
366
  default:
320
367
  this.unknownElement(rawName, line);
@@ -337,7 +384,7 @@ export class XgmmlParser {
337
384
  return;
338
385
  }
339
386
  case "graphics":
340
- this.beginGraphics(element, attrs);
387
+ this.beginGraphics(element, attrs, line);
341
388
  return;
342
389
  default:
343
390
  this.unknownElement(rawName, line);
@@ -367,19 +414,30 @@ export class XgmmlParser {
367
414
  }
368
415
  // a second foreign element of the same att is appended to the first
369
416
  att.xml ?? (att.xml = "");
370
- const capture = { kind: "capture", att, depth: 0 };
417
+ const capture = {
418
+ kind: "capture",
419
+ att,
420
+ depth: 0,
421
+ start: att.xml.length,
422
+ scope: this.scope,
423
+ };
371
424
  this.frames.push(capture);
372
425
  this.capture(capture, rawName, attrs);
373
426
  }
374
427
  /**
375
- * Whether an element name inside an att is XGMML's own (unprefixed, or with the root's prefix,
376
- * as in a document whose root is `<xgmml:graph>`) rather than foreign XML such as `rdf:RDF`.
428
+ * Whether an element name is XGMML's own (unprefixed, with the root's prefix as in a document
429
+ * whose root is `<xgmml:graph>`, or with any prefix bound to the XGMML namespace) rather than
430
+ * foreign XML such as `rdf:RDF` or `svg:node`.
377
431
  * @param rawName - the name as written
378
432
  * @returns true for an XGMML element name
379
433
  */
380
434
  isXgmmlName(rawName) {
381
435
  const colon = rawName.indexOf(":");
382
- return colon < 0 || (this.rootPrefix !== null && rawName.slice(0, colon) === this.rootPrefix);
436
+ if (colon < 0) {
437
+ return true;
438
+ }
439
+ const prefix = rawName.slice(0, colon);
440
+ return prefix === this.rootPrefix || this.scope.get(prefix) === XGMML_NAMESPACE;
383
441
  }
384
442
  /**
385
443
  * A `<graph>` inside an `<att>`: a subnetwork of the root, a group or nested-network pointer
@@ -440,6 +498,9 @@ export class XgmmlParser {
440
498
  const labelAttr = attrs.get("label") ?? null;
441
499
  const nameAttr = attrs.get("name") ?? null;
442
500
  const label = labelAttr ?? nameAttr;
501
+ if (href !== null && id !== null) {
502
+ this.idAndHref("node", id, href, line);
503
+ }
443
504
  if (href === null && id === null) {
444
505
  if (label === null || label.length === 0) {
445
506
  this.report.counts.skippedNodes++;
@@ -483,9 +544,13 @@ export class XgmmlParser {
483
544
  */
484
545
  beginEdge(graph, attrs, line) {
485
546
  const href = attrs.get("xlink:href") ?? null;
547
+ const id = attrs.get("id") ?? null;
548
+ if (href !== null && id !== null) {
549
+ this.idAndHref("edge", id, href, line);
550
+ }
486
551
  const edge = {
487
552
  kind: "edge",
488
- id: href === null ? (attrs.get("id") ?? null) : null,
553
+ id: href === null ? id : null,
489
554
  href,
490
555
  source: attrs.get("source") ?? null,
491
556
  target: attrs.get("target") ?? null,
@@ -506,6 +571,16 @@ export class XgmmlParser {
506
571
  }
507
572
  this.frames.push({ kind: "edge", edge });
508
573
  }
574
+ /**
575
+ * W_XGMML_ID_AND_HREF: an element that both declares an id and references another element.
576
+ * @param kind - node or edge
577
+ * @param id - the id
578
+ * @param href - the reference
579
+ * @param line - the line
580
+ */
581
+ idAndHref(kind, id, href, line) {
582
+ this.report.warning("validation-error", XGMML_ISSUE.ID_AND_HREF, `<${kind}> has both id "${id}" and xlink:href "${href}"; it is read as a reference to ${href} and the id is not used`, { line, element: id });
583
+ }
509
584
  // ------------------------------------------------------------------ atts
510
585
  /**
511
586
  * An att record from its XML attributes.
@@ -559,7 +634,13 @@ export class XgmmlParser {
559
634
  frame.att.xml = `${frame.att.xml ?? ""}${tag}>`;
560
635
  frame.depth++;
561
636
  if (frame.att.name === "networkMetadata") {
562
- this.rdfElement = localName(rawName);
637
+ const field = localName(rawName);
638
+ this.rdfElement = field;
639
+ if (this.rdf[field] !== undefined) {
640
+ // a second <dc:title>: the first is kept, the two are never joined
641
+ this.rdfElement = null;
642
+ this.report.warning("validation-error", XGMML_ISSUE.DUPLICATE_ATTRIBUTE, `the network metadata gives <${rawName}> twice; the first ("${this.rdf[field]}") is kept`, { line: frame.att.line, element: field });
643
+ }
563
644
  }
564
645
  }
565
646
  /**
@@ -577,14 +658,21 @@ export class XgmmlParser {
577
658
  * attribute is kept as written, merged key by key with an earlier `<graphics>`.
578
659
  * @param target - the node, edge or graph
579
660
  * @param attrs - its attributes
661
+ * @param line - the line
580
662
  */
581
- beginGraphics(target, attrs) {
663
+ beginGraphics(target, attrs, line) {
582
664
  const graphics = { ...(target.graphics ?? {}) };
583
665
  for (const [key, value] of attrs) {
584
666
  if ("x" in target && (key === "x" || key === "y" || key === "z")) {
667
+ if (target[key] !== null && target[key] !== undefined) {
668
+ this.duplicateGraphics(key, line);
669
+ }
585
670
  target[key] = value;
586
671
  }
587
672
  else if (key !== "xmlns" && !key.startsWith("xmlns:")) {
673
+ if (key in graphics) {
674
+ this.duplicateGraphics(key, line);
675
+ }
588
676
  graphics[key] = value;
589
677
  }
590
678
  }
@@ -636,14 +724,26 @@ export class XgmmlParser {
636
724
  this.report.warnOnce("validation-error", XGMML_ISSUE.BAD_ATT, "a graphics <att> without a name was skipped", { line: att.line }, `${XGMML_ISSUE.BAD_ATT}:graphics-name`);
637
725
  return;
638
726
  }
727
+ if (target.graphics !== null && att.name in target.graphics) {
728
+ this.duplicateGraphics(att.name, att.line);
729
+ }
639
730
  target.graphics = { ...(target.graphics ?? {}), [att.name]: attJson(att) };
640
731
  }
732
+ /**
733
+ * W_DUPLICATE_ATTRIBUTE for a graphics property given twice on one element (once per name).
734
+ * @param key - the property
735
+ * @param line - the line
736
+ */
737
+ duplicateGraphics(key, line) {
738
+ this.report.warnOnce("validation-error", XGMML_ISSUE.DUPLICATE_ATTRIBUTE, `the graphics property "${key}" is given twice on one element; the later value is kept`, { line, element: key }, `${XGMML_ISSUE.DUPLICATE_ATTRIBUTE}:graphics:${key}`);
739
+ }
641
740
  }
642
741
  /**
643
742
  * Whether an att's children are list items rather than named fields: they have no names, repeat
644
743
  * the parent's name (Cytoscape 3 lists), or are several that share one name (2.x bend handles).
645
744
  * @param att - the att
646
745
  * @returns true for a list
746
+ * @category Plugin helpers
647
747
  */
648
748
  export function isListLike(att) {
649
749
  const names = new Set(att.children.map((c) => c.name));
@@ -659,6 +759,7 @@ export function isListLike(att) {
659
759
  * else its other XML attributes (a 2.x bend handle's x and y), else null.
660
760
  * @param att - the att
661
761
  * @returns the value
762
+ * @category Plugin helpers
662
763
  */
663
764
  export function attJson(att) {
664
765
  if (att.children.length === 0) {
@@ -676,6 +777,34 @@ export function attJson(att) {
676
777
  }
677
778
  return out;
678
779
  }
780
+ /**
781
+ * Declare on a captured element the namespace prefixes the captured XML uses but does not bind
782
+ * itself, so the stored XML is namespace-well-formed on its own.
783
+ * @param xml - the captured XML of the att
784
+ * @param start - where the captured element starts in it
785
+ * @param scope - the namespaces in scope at the captured element
786
+ * @returns the XML with the declarations added to the captured element's start tag
787
+ */
788
+ function bindPrefixes(xml, start, scope) {
789
+ const segment = xml.slice(start);
790
+ const used = new Set();
791
+ for (const match of segment.matchAll(/<\/?([A-Za-z_][\w.-]*):|\s([A-Za-z_][\w.-]*):[\w.-]+="/g)) {
792
+ used.add(match[1] ?? match[2]);
793
+ }
794
+ let declarations = "";
795
+ for (const prefix of used) {
796
+ const uri = scope.get(prefix);
797
+ if (prefix !== "xmlns" && prefix !== "xml" && uri !== undefined && !segment.includes(` xmlns:${prefix}="`)) {
798
+ declarations += ` xmlns:${prefix}="${escapeXmlAttribute(uri)}"`;
799
+ }
800
+ }
801
+ if (declarations.length === 0) {
802
+ return xml;
803
+ }
804
+ const nameEnd = xml.slice(start).search(/[\s>]/);
805
+ const at = start + (nameEnd < 0 ? segment.length : nameEnd);
806
+ return `${xml.slice(0, at)}${declarations}${xml.slice(at)}`;
807
+ }
679
808
  /**
680
809
  * The XML attributes of an element the parser does not read itself, without namespace
681
810
  * declarations.
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../src/formats/xgmml/document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../src/formats/xgmml/document.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,10 @@ import { type ColumnDecl, type ColumnHandle, type GraphSink } from "@graphty/gra
8
8
  import { type ResolvedImportOptions } from "../../common/options.js";
9
9
  import { type ImportReportBuilder } from "../../common/report.js";
10
10
  import { type EdgeRec, type GraphRec, type NodeRec, type XgmmlDocument } from "./document.js";
11
- /** The XGMML-specific options, resolved. */
11
+ /**
12
+ * The XGMML-specific options, resolved.
13
+ * @category Plugin helpers
14
+ */
12
15
  export interface XgmmlSettings {
13
16
  /** Resolve missing or unknown endpoints through `"a (pp) b"` edge labels. */
14
17
  readonly labelAliases: boolean;
@@ -17,7 +20,10 @@ export interface XgmmlSettings {
17
20
  /** Where Cytoscape's z goes. */
18
21
  readonly zAs: "column" | "position";
19
22
  }
20
- /** What a session adds to the document's own rules. */
23
+ /**
24
+ * What a session adds to the document's own rules.
25
+ * @category Plugin helpers
26
+ */
21
27
  export interface EmitExtras {
22
28
  /** Ids of nodes the session's group bookkeeping lists as groups. */
23
29
  readonly groupNodes?: ReadonlySet<string> | undefined;
@@ -38,8 +44,19 @@ export interface EmitExtras {
38
44
  * session): the session records it instead of E_UNKNOWN_PARENT.
39
45
  */
40
46
  readonly onMissingMember?: ((group: string, member: string) => void) | undefined;
47
+ /**
48
+ * A 3.x session: the label of a node or edge is its table's `name` (what Cytoscape shows), in
49
+ * a label column named `name`; the XGMML `label` attribute is read only when no element of
50
+ * the table has a `name`.
51
+ */
52
+ readonly labelFromName?: boolean | undefined;
53
+ /** Node ids to read in place of the written ones (ids an exporter mangled, by written id). */
54
+ readonly restoredIds?: ReadonlyMap<string, string> | undefined;
41
55
  }
42
- /** The dialect facts the rules depend on. */
56
+ /**
57
+ * The dialect facts the rules depend on.
58
+ * @category Plugin helpers
59
+ */
43
60
  export interface Dialect {
44
61
  /** The documentVersion as written, or null. */
45
62
  readonly versionText: string | null;
@@ -59,6 +76,7 @@ export interface Dialect {
59
76
  * @param doc - the document
60
77
  * @param report - the report the unparseable-version warning goes to
61
78
  * @returns the dialect
79
+ * @category Plugin helpers
62
80
  */
63
81
  export declare function dialectOf(doc: XgmmlDocument, report: ImportReportBuilder): Dialect;
64
82
  /**
@@ -67,13 +85,23 @@ export declare function dialectOf(doc: XgmmlDocument, report: ImportReportBuilde
67
85
  * @param doc - the document
68
86
  * @param dialect - its dialect
69
87
  * @returns the graphs, in document order
88
+ * @category Plugin helpers
70
89
  */
71
90
  export declare function graphsOf(doc: XgmmlDocument, dialect: Dialect): GraphRec[];
91
+ /**
92
+ * A graphics coordinate as Java's `Double.parseDouble` reads Cytoscape's (no hex, no `_`), and
93
+ * finite.
94
+ * @param text - the text
95
+ * @returns the number, or null when it does not parse or is not finite
96
+ * @category Plugin helpers
97
+ */
98
+ export declare function parseCoordinate(text: string): number | null;
72
99
  /**
73
100
  * The nodes and edges a graph holds: its direct members, references resolved.
74
101
  * @param doc - the document
75
102
  * @param graph - the graph (a registered subnetwork), or null for the whole document
76
103
  * @returns the declared node and edge records it holds, references resolved, in order
104
+ * @category Plugin helpers
77
105
  */
78
106
  export declare function membersOf(doc: XgmmlDocument, graph: GraphRec | null): {
79
107
  readonly nodes: NodeRec[];
@@ -89,6 +117,7 @@ interface NodeRow {
89
117
  }
90
118
  /**
91
119
  * Pushes one graph of a document into a sink.
120
+ * @category Plugin helpers
92
121
  */
93
122
  export declare class XgmmlEmitter {
94
123
  private readonly doc;
@@ -191,6 +220,14 @@ export declare class XgmmlEmitter {
191
220
  * @returns whether the edge is directed
192
221
  */
193
222
  private edgeDirection;
223
+ /**
224
+ * The default direction of the edges of a graph: the `directed` attribute of the graph or of
225
+ * the nearest graph it is nested in that has one, else the header.
226
+ * @param graph - the graph that holds the edge
227
+ * @param header - the header direction
228
+ * @returns whether the graph's edges are directed by default
229
+ */
230
+ private graphDirected;
194
231
  /**
195
232
  * The direction the sink starts with: the one every edge has when they all agree (a
196
233
  * Cytoscape file writes cy:directed on every edge and may omit the root attribute), else the
@@ -214,6 +251,26 @@ export declare class XgmmlEmitter {
214
251
  * @param records - the node records
215
252
  */
216
253
  private addNodes;
254
+ /**
255
+ * The sink id of a node's written id: the restored original, else the written id, coerced.
256
+ * @param text - the written id
257
+ * @returns the id
258
+ */
259
+ private idOf;
260
+ /** Per table: the label is the `name` att (labelFromName and some element has one). */
261
+ private readonly nameLabel;
262
+ /**
263
+ * Decide whether a table's label comes from its `name` atts.
264
+ * @param domain - node or edge
265
+ * @param records - the table's records
266
+ */
267
+ private decideNameLabel;
268
+ /**
269
+ * The label of a record: its `name` att, or its XGMML label.
270
+ * @param record - the node or edge
271
+ * @returns the label, or undefined
272
+ */
273
+ private labelOf;
217
274
  /**
218
275
  * The coerced id of a node text.
219
276
  * @param text - the id text
@@ -335,6 +392,7 @@ export declare class XgmmlEmitter {
335
392
  * The three parts of a Cytoscape edge label (`source (interaction) target`).
336
393
  * @param label - the label, or null
337
394
  * @returns source alias, interaction, target alias; null when the label has another shape
395
+ * @category Plugin helpers
338
396
  */
339
397
  export declare function aliasesOf(label: string | null): [string, string, string] | null;
340
398
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../../../src/formats/xgmml/emit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../../../src/formats/xgmml/emit.ts"],"names":[],"mappings":"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"}