@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
@@ -15,9 +15,10 @@ import { GraphFormatError } from "@graphty/graph-format";
15
15
  import { pairFolding } from "../../common/direction.js";
16
16
  import { isPajekLabel, quotePajekLabel } from "../../common/escape.js";
17
17
  import { capabilities, checkCapabilities, LOSS, sanitizeIds } from "../../common/export.js";
18
- import { formatDecimal, formatF32, formatF64, formatInteger } from "../../common/format.js";
18
+ import { formatDecimal, formatF32, formatInteger, idText } from "../../common/format.js";
19
19
  import { canonicalId } from "../../common/ids.js";
20
20
  import { resolveExportOptions } from "../../common/options.js";
21
+ import { agree, plural } from "../../common/plural.js";
21
22
  import { inferTextDtype } from "../../common/text.js";
22
23
  import { explicitWeights } from "../../common/weights.js";
23
24
  import { encodeChunks, joinText } from "../../common/writer.js";
@@ -26,35 +27,57 @@ import { encodeCharacterReferences, formatIntervals, isParameterKey, LABEL_COLUM
26
27
  * The LossNote codes of the Pajek exporter's check(): the Pajek-specific ones and, aliased, the
27
28
  * shared ones it records itself (`LOSS` holds the rest of the generic pre-flight's codes). A key
28
29
  * is the code without its severity and format prefixes.
30
+ * @category Built-in formats
29
31
  */
30
32
  export const PAJEK_LOSS = Object.freeze({
31
- /** A label or text value holds a double quote or a line break; export() will throw E_UNSUPPORTED. */
33
+ /**
34
+ * A label or text value holds a double quote or a line break, which Pajek cannot write; the save fails with
35
+ * E_UNSUPPORTED.
36
+ */
32
37
  TEXT: "E_PAJEK_TEXT",
33
38
  /** A column whose name cannot be a parameter key (whitespace, a quote, numeric, a shape keyword); skipped. */
34
39
  KEY_DROPPED: "W_PAJEK_KEY_DROPPED",
35
- /** A label role column that is not text; its values are written as text and re-import as string. */
40
+ /**
41
+ * The node label attribute holds numbers or other values that are not text; they are written as text and read back
42
+ * as text.
43
+ */
36
44
  LABEL_AS_TEXT: "W_PAJEK_LABEL_AS_TEXT",
37
- /** A non-finite f64 value; written as Infinity / NaN text, which re-imports as string. */
45
+ /** NaN or an infinity is written as the text Infinity or NaN, which reads back as text. */
38
46
  NONFINITE_AS_TEXT: "W_PAJEK_NONFINITE_AS_TEXT",
39
47
  /** A mutual pair; written as one undirected edge, the mark lost. */
40
48
  MUTUAL_AS_UNDIRECTED: LOSS.MUTUAL_AS_UNDIRECTED,
41
49
  /** A start / end / timestamp role column; Pajek intervals are written from the spells role only. */
42
50
  TEMPORAL_DROPPED: LOSS.TEMPORAL,
43
- /** A position column with a stride other than 2 or 3. */
51
+ /** A position with other than 2 or 3 coordinates is not written. */
44
52
  POSITION_STRIDE: "W_PAJEK_POSITION_STRIDE",
45
- /** meta.extra.pajek.firstMode is not a count within 0..N; the two-mode header is not written. */
53
+ /**
54
+ * The graph's two-mode vertex count (`meta.extra.pajek.firstMode`) is not between 0 and the number of nodes, so
55
+ * the file is written as a one-mode network.
56
+ */
46
57
  FIRST_MODE_DROPPED: "W_PAJEK_FIRST_MODE_DROPPED",
47
- /** A role column Pajek has no slot for (kind, ...) written as a plain parameter; the role is lost. */
58
+ /** An attribute with a role the format has no place for is written as a plain attribute; the role is lost. */
48
59
  ROLE_DROPPED: LOSS.ROLE,
49
- /** A `shape` column with a value outside the shape keywords is written as a parameter (a string on re-import). */
60
+ /**
61
+ * A `shape` attribute whose value is not one of Pajek's shape names is written as a parameter, and reads back as a
62
+ * plain text attribute.
63
+ */
50
64
  SHAPE_AS_PARAMETER: "W_PAJEK_SHAPE_AS_PARAMETER",
51
65
  /** A vertex line with coordinates, a shape or parameters needs a label: the id text is written and reads back as a label. */
52
66
  LABEL_GAINED: "W_PAJEK_LABEL_GAINED",
53
- /** A role-less node column named `label` reads back with the label role (its values become the vertex labels). */
67
+ /**
68
+ * An attribute without a role is written where the format keeps a role (for example, a `name` column as the label), and
69
+ * reads back with that role.
70
+ */
54
71
  ROLE_ASSUMED: LOSS.ROLE_ASSUMED,
55
- /** Under sanitizeIds "mangle": an original id whose text reads back as the other type under ids "canonical". */
72
+ /**
73
+ * With `sanitizeIds: "mangle"`: an original id that reads back as a different type, such as the text "7" as the
74
+ * number 7.
75
+ */
56
76
  ID_TEXT_TYPE: LOSS.ID_TEXT_TYPE,
57
- /** Parameter text that looks like a number or a boolean reads back as one (parameters are untyped, design 5.1). */
77
+ /**
78
+ * A text value that reads back as a number or a boolean, because the format does not record that it was text (the
79
+ * text "42" reads back as the number 42).
80
+ */
58
81
  TEXT_INFERRED: LOSS.TEXT_INFERRED,
59
82
  });
60
83
  /** The roles Pajek has a slot for beyond the structural, position and temporal ones. */
@@ -214,7 +237,7 @@ function labelNotes(snapshot, nodePlan, notes) {
214
237
  }
215
238
  }
216
239
  if (gained > 0) {
217
- notes.push(note(PAJEK_LOSS.LABEL_GAINED, `${gained} vertex line(s) carry coordinates, a shape or parameters and need a label; the id text is written there and reads back as a label`, labels === null ? LABEL_COLUMN : labels.meta.name, gained));
240
+ notes.push(note(PAJEK_LOSS.LABEL_GAINED, `${gained} vertex line${plural(gained)} ${agree(gained, "carries", "carry")} coordinates, a shape or parameters and need a label; the id text is written there and reads back as a label`, labels === null ? LABEL_COLUMN : labels.meta.name, gained));
218
241
  }
219
242
  }
220
243
  /**
@@ -344,13 +367,13 @@ function checkCells(planned, domain, notes) {
344
367
  }
345
368
  }
346
369
  if (badText > 0) {
347
- notes.push(note(PAJEK_LOSS.TEXT, `${badText} value(s) of ${domain} column "${name}" hold a double quote or a line break; Pajek cannot write them`, name, badText));
370
+ notes.push(note(PAJEK_LOSS.TEXT, `${badText} value${plural(badText)} of ${domain} column "${name}" hold a double quote or a line break; Pajek cannot write them`, name, badText));
348
371
  }
349
372
  if (typed > 0) {
350
- notes.push(note(PAJEK_LOSS.TEXT_INFERRED, `${typed} value(s) of ${domain} column "${name}" look like numbers or booleans; Pajek parameters are untyped and they read back as such`, name, typed));
373
+ notes.push(note(PAJEK_LOSS.TEXT_INFERRED, `${typed} value${plural(typed)} of ${domain} column "${name}" look like numbers or booleans; Pajek parameters are untyped and they read back as such`, name, typed));
351
374
  }
352
375
  if (nonFinite > 0) {
353
- notes.push(note(PAJEK_LOSS.NONFINITE_AS_TEXT, `${nonFinite} non-finite value(s) of ${domain} column "${name}" are written as text`, name, nonFinite));
376
+ notes.push(note(PAJEK_LOSS.NONFINITE_AS_TEXT, `${nonFinite} non-finite value${plural(nonFinite)} of ${domain} column "${name}" ${agree(nonFinite, "is", "are")} written as text`, name, nonFinite));
354
377
  }
355
378
  }
356
379
  }
@@ -371,7 +394,7 @@ function firstModeOf(snapshot) {
371
394
  if (typeof value === "number" && Number.isInteger(value) && value >= 0 && value <= snapshot.nodeCount) {
372
395
  return value;
373
396
  }
374
- return NaN;
397
+ return Number.NaN;
375
398
  }
376
399
  /**
377
400
  * The label of a vertex: the label column's value when set, the id's text when the id is not
@@ -392,14 +415,6 @@ function labelOf(labels, ids, i, needed) {
392
415
  }
393
416
  return null;
394
417
  }
395
- /**
396
- * The text of an id.
397
- * @param id - the id
398
- * @returns String(id)
399
- */
400
- function idText(id) {
401
- return typeof id === "number" ? formatF64(id) : id;
402
- }
403
418
  /**
404
419
  * The spells text of a row, or null when unset or empty.
405
420
  * @param column - the spells list column
@@ -469,6 +484,7 @@ function needsZ(column) {
469
484
  * @param snapshot - the snapshot
470
485
  * @param options - the resolved format options
471
486
  * @param options.networkHeader - whether the `*Network` line is written
487
+ * @param options.name - the name on that line, or null for a bare line
472
488
  * @param options.mangle - whether the original ids are written as `graphty_originalId` parameters
473
489
  * @yields lines with their terminator
474
490
  * @returns nothing
@@ -491,8 +507,8 @@ function* writeParts(snapshot, options) {
491
507
  });
492
508
  }
493
509
  }
494
- if (options.networkHeader && snapshot.meta.name !== null) {
495
- yield `*Network ${snapshot.meta.name}\n`;
510
+ if (options.networkHeader) {
511
+ yield options.name === null ? "*Network\n" : `*Network ${options.name}\n`;
496
512
  }
497
513
  const firstMode = firstModeOf(snapshot);
498
514
  yield firstMode !== null && !Number.isNaN(firstMode)
@@ -541,10 +557,10 @@ function checkIdTexts(nodeCount, ids, mangle, notes) {
541
557
  }
542
558
  }
543
559
  if (badText > 0) {
544
- notes.push(note(PAJEK_LOSS.TEXT, `${badText} node id(s) hold a double quote or a line break; Pajek cannot write them as labels or parameters`, null, badText));
560
+ notes.push(note(PAJEK_LOSS.TEXT, `${badText} node id${plural(badText)} ${agree(badText, "holds", "hold")} a double quote or a line break; Pajek cannot write them as labels or parameters`, null, badText));
545
561
  }
546
562
  if (typeChanged > 0) {
547
- notes.push(note(PAJEK_LOSS.ID_TEXT_TYPE, `${typeChanged} original id(s) read back from ${ORIGINAL_ID_KEY} as the other type under ids: "canonical" (a string "1" becomes 1, a number 1.5 becomes "1.5")`, null, typeChanged));
563
+ notes.push(note(PAJEK_LOSS.ID_TEXT_TYPE, `${typeChanged} original id${plural(typeChanged)} ${agree(typeChanged, "reads", "read")} back from ${ORIGINAL_ID_KEY} as the other type under ids: "canonical" (a string "1" becomes 1, a number 1.5 becomes "1.5")`, null, typeChanged));
548
564
  }
549
565
  }
550
566
  /**
@@ -722,10 +738,11 @@ function* writeLines(snapshot, edgePlan) {
722
738
  }
723
739
  /**
724
740
  * Resolve the Pajek export options.
741
+ * @param snapshot - the graph, whose name is the default network name
725
742
  * @param options - the caller's options
726
743
  * @returns the resolved format options; the common options are checked by resolveExportOptions
727
744
  */
728
- function resolvePajekOptions(options) {
745
+ function resolvePajekOptions(snapshot, options) {
729
746
  const common = resolveExportOptions(options);
730
747
  const value = options?.networkHeader;
731
748
  if (value !== undefined && typeof value !== "boolean") {
@@ -734,11 +751,26 @@ function resolvePajekOptions(options) {
734
751
  found: typeof value,
735
752
  });
736
753
  }
737
- return { networkHeader: value ?? false, mangle: common.sanitizeIds === "mangle" };
754
+ const name = options?.name;
755
+ if (name !== undefined && (typeof name !== "string" || /[\r\n]/.test(name))) {
756
+ throw new GraphFormatError("E_UNSUPPORTED", "option name: not a one-line string", {
757
+ option: "name",
758
+ found: typeof name,
759
+ });
760
+ }
761
+ return {
762
+ networkHeader: value ?? name !== undefined,
763
+ name: name ?? snapshot.meta.name,
764
+ mangle: common.sanitizeIds === "mangle",
765
+ };
738
766
  }
739
- /** The Pajek NET exporter. */
767
+ /**
768
+ * The Pajek NET exporter.
769
+ * @category Built-in formats
770
+ */
740
771
  export const pajekExporter = Object.freeze({
741
772
  format: "pajek",
773
+ options: Object.freeze(["name", "networkHeader"]),
742
774
  capabilities: CAPABILITIES,
743
775
  /**
744
776
  * Pre-flight: the generic capability gaps plus the Pajek-specific ones.
@@ -748,7 +780,7 @@ export const pajekExporter = Object.freeze({
748
780
  */
749
781
  check(snapshot, options) {
750
782
  const resolved = resolveExportOptions(options);
751
- const { mangle } = resolvePajekOptions(options);
783
+ const { mangle } = resolvePajekOptions(snapshot, options);
752
784
  const notes = [];
753
785
  const planned = plan(snapshot.nodes, "node", notes);
754
786
  const nodePlan = withoutReservedKey(planned, mangle);
@@ -807,7 +839,7 @@ export const pajekExporter = Object.freeze({
807
839
  checkCells(edgePlan, "edge", notes);
808
840
  const folding = pairFolding(snapshot, { foldMutual: true });
809
841
  if (folding.mutualCount > 0) {
810
- notes.push(note(PAJEK_LOSS.MUTUAL_AS_UNDIRECTED, `${folding.mutualCount} mutual pair(s) are written as undirected edges; the mutual mark is lost`, snapshot.edges.byRole("mutual")?.meta.name ?? null, folding.mutualCount));
842
+ notes.push(note(PAJEK_LOSS.MUTUAL_AS_UNDIRECTED, `${folding.mutualCount} mutual pair${plural(folding.mutualCount)} ${agree(folding.mutualCount, "is", "are")} written as undirected edges; the mutual mark is lost`, snapshot.edges.byRole("mutual")?.meta.name ?? null, folding.mutualCount));
811
843
  }
812
844
  if (Number.isNaN(firstModeOf(snapshot))) {
813
845
  notes.push(note(PAJEK_LOSS.FIRST_MODE_DROPPED, "meta.extra.pajek.firstMode is not a count within 0..nodeCount; the two-mode header is not written"));
@@ -821,7 +853,7 @@ export const pajekExporter = Object.freeze({
821
853
  * @returns the chunks
822
854
  */
823
855
  export(snapshot, options) {
824
- const resolved = resolvePajekOptions(options);
856
+ const resolved = resolvePajekOptions(snapshot, options);
825
857
  return encodeChunks(writeParts(snapshot, resolved));
826
858
  },
827
859
  /**
@@ -831,7 +863,7 @@ export const pajekExporter = Object.freeze({
831
863
  * @returns the document
832
864
  */
833
865
  exportToString(snapshot, options) {
834
- const resolved = resolvePajekOptions(options);
866
+ const resolved = resolvePajekOptions(snapshot, options);
835
867
  return joinText(writeParts(snapshot, resolved));
836
868
  },
837
869
  });
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../../src/formats/pajek/exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../../src/formats/pajek/exporter.ts"],"names":[],"mappings":"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"}
@@ -15,38 +15,58 @@
15
15
  * `partition` (i32) and `vector` (f64), wherever they stand in the file; other project-file
16
16
  * sections (`*Events`, `*Permutation`, ...) are skipped with a warning.
17
17
  */
18
- import { type GraphImporter } from "../../types.js";
19
- /** The format-specific options of the Pajek importer. */
20
- export interface PajekImportOptions {
18
+ import { type CommonImportOptions, type GraphChoiceOptions, type GraphImporter } from "../../types.js";
19
+ /**
20
+ * The format-specific options of the Pajek importer.
21
+ * @category Built-in formats
22
+ */
23
+ export interface PajekImportOptions extends GraphChoiceOptions, CommonImportOptions {
21
24
  /**
22
25
  * The number of the first vertex: 1 (Pajek's rule), 0 (files written by zero-based scripts), or
23
- * "auto" (default): 0 when the first vertex line is numbered 0, 1 otherwise.
26
+ * "auto": 0 when the first vertex line is numbered 0, 1 otherwise.
27
+ * @defaultValue "auto"
24
28
  */
25
29
  firstVertex?: 0 | 1 | "auto" | undefined;
26
30
  }
27
- /** Issue codes of the Pajek importer. */
31
+ /**
32
+ * Issue codes of the Pajek importer.
33
+ * @category Built-in formats
34
+ */
28
35
  export declare const PAJEK_ISSUE: Readonly<{
29
- /** The input holds invalid UTF-8 (fatal). */
36
+ /** The input is not valid UTF-8. The import stops. */
30
37
  INVALID_UTF8: "E_INVALID_UTF8";
31
- /** Invalid bytes in the encoding a BOM, a declaration or the encoding option chose (fatal). */
38
+ /**
39
+ * Some bytes are not valid in the encoding that was chosen (by a byte order mark, the file's declaration or the
40
+ * `encoding` option). The import stops.
41
+ */
32
42
  INVALID_ENCODING: "E_INVALID_ENCODING";
33
43
  /** Bytes that are not UTF-8 and declare no encoding were read as windows-1252. */
34
44
  ENCODING_FALLBACK: "W_ENCODING_FALLBACK";
35
45
  /** A declared encoding the platform cannot decode was ignored. */
36
46
  UNKNOWN_ENCODING: "W_UNKNOWN_ENCODING";
37
- /** Fatal: no `*Vertices` section (an empty file, or not a Pajek network). */
47
+ /** There is no `*Vertices` section: the file is empty or not a Pajek network. The import stops. */
38
48
  NO_VERTICES: "E_PAJEK_NO_VERTICES";
39
- /** Fatal: `*Vertices` without a vertex count, one the sink cannot hold, or a first-mode count outside 0..N. */
49
+ /**
50
+ * `*Vertices` without a vertex count, with a count too large to hold, or with a first-mode count outside 0 to N;
51
+ * the import stops.
52
+ */
40
53
  VERTICES_COUNT: "E_PAJEK_VERTICES_COUNT";
41
- /** A project file holds several networks; import() reads the first, importAll() reads every one. */
54
+ /**
55
+ * The file holds several graphs and only the first was read. It is not added when `graphIndex` or `graphName` chose the graph.
56
+ * `importAllGraphs()` reads every one.
57
+ */
42
58
  MULTIPLE_GRAPHS: "W_MULTIPLE_GRAPHS";
59
+ /** `graphIndex` or `graphName` names no graph of the file; the message lists the graphs it holds. The import stops. */
60
+ GRAPH_NOT_FOUND: "E_GRAPH_NOT_FOUND";
61
+ /** `graphName` matches more than one graph; pass `graphIndex`. The import stops. */
62
+ AMBIGUOUS_GRAPH_NAME: "E_AMBIGUOUS_GRAPH_NAME";
43
63
  /** A data line before the first section header. */
44
64
  OUTSIDE_SECTION: "E_PAJEK_OUTSIDE_SECTION";
45
65
  /** A section header the importer cannot parse. */
46
66
  SYNTAX: "E_SYNTAX";
47
67
  /** A double quote not closed before the end of the line. */
48
68
  UNTERMINATED_QUOTE: "E_PAJEK_UNTERMINATED_QUOTE";
49
- /** A vertex line the grammar does not accept. */
69
+ /** A vertex line that is not in Pajek's vertex syntax; the vertex is skipped. */
50
70
  VERTEX_LINE: "E_PAJEK_VERTEX_LINE";
51
71
  /** A vertex number outside the declared range. */
52
72
  VERTEX_RANGE: "E_PAJEK_VERTEX_RANGE";
@@ -54,9 +74,12 @@ export declare const PAJEK_ISSUE: Readonly<{
54
74
  VERTEX_COUNT: "W_PAJEK_VERTEX_COUNT";
55
75
  /** A second line for the same vertex; the later values overwrite. */
56
76
  DUPLICATE_NODE: "W_DUPLICATE_NODE";
57
- /** A line (arc, edge, list, matrix row, partition or vector value) the grammar does not accept. */
77
+ /**
78
+ * A line that is not in Pajek's syntax for its section (an arc, edge, list, matrix row, partition or vector
79
+ * value); it is skipped.
80
+ */
58
81
  LINE: "E_PAJEK_LINE";
59
- /** A line endpoint outside the declared vertex range (the core's code, forwarded). */
82
+ /** An edge names a vertex number outside the range `*Vertices` declared; the edge is skipped. */
60
83
  UNKNOWN_NODE: "E_UNKNOWN_NODE";
61
84
  /** A malformed time interval token. */
62
85
  INTERVAL: "E_PAJEK_INTERVAL";
@@ -68,33 +91,72 @@ export declare const PAJEK_ISSUE: Readonly<{
68
91
  OBJECT_COUNT: "E_PAJEK_OBJECT_COUNT";
69
92
  /** A project-file section (`*Events`, `*Permutation`, ...) the importer does not read; its lines are skipped. */
70
93
  UNSUPPORTED_SECTION: "W_PAJEK_UNSUPPORTED_SECTION";
71
- /** Tokens after a section header the grammar does not account for. */
94
+ /** A section header has extra words Pajek does not define; they are ignored. */
72
95
  HEADER_EXTRA: "W_PAJEK_HEADER_EXTRA";
73
96
  /** The file declares vertices but no line section. */
74
97
  NO_LINES: "W_PAJEK_NO_LINES";
75
- /** Vertex numbering starts at 0 rather than 1. */
98
+ /** Vertex numbering starts at 0 rather than 1, found by `firstVertex: "auto"` (passing `firstVertex: 0` says so and gives no warning). */
76
99
  ZERO_BASED: "W_PAJEK_ZERO_BASED";
77
100
  /** Vertex lines mix two and three coordinates. */
78
101
  COORD_DIMS: "W_PAJEK_COORD_DIMS";
79
102
  /** Two vertices share a label under nodeIdFrom "label" and became one node. */
80
103
  LABEL_MERGED: "W_PAJEK_LABEL_MERGED";
81
- /** Two distinct label texts became one numeric id under ids "number". */
104
+ /** Two different labels became the same number because `ids` is "number", so their vertices were merged. */
82
105
  ID_MERGED: "W_ID_MERGED";
83
- /** A parameter column of `2.0`-style text kept at the value-inferred dtype (the sink cannot widen). */
106
+ /**
107
+ * Your graph builder cannot change an attribute's type after its first value, so a text column keeps the type of
108
+ * its first values.
109
+ */
84
110
  WIDENING_UNSUPPORTED: "W_WIDENING_UNSUPPORTED";
85
- /** A structural column (label, position, shape, spells, relation) renamed `<name>#<id>` because the name was taken (design section 5.6). */
111
+ /** A structural column (label, position, shape, spells, relation) renamed `<name>#<id>` because the name was taken. */
86
112
  COLUMN_RENAMED: "W_COLUMN_RENAMED";
87
- /** A structural column declared without its role because the sink already holds it. */
113
+ /**
114
+ * You read into a graph builder that already has an id, label or position attribute, so this file's one is kept as
115
+ * a plain attribute.
116
+ */
88
117
  ROLE_TAKEN: "W_ROLE_TAKEN";
89
118
  /** Two vertices carry the same `graphty_originalId` under restoreMangledIds and became one node. */
90
119
  ORIGINAL_ID_MERGED: "W_PAJEK_ORIGINAL_ID_MERGED";
91
120
  /** A vertex line's `graphty_originalId` came after a later vertex's line had created it under its number. */
92
121
  ORIGINAL_ID_UNRESTORED: "W_PAJEK_ORIGINAL_ID_UNRESTORED";
93
- /** A common option the importer has no use for (weightFrom naming a parameter and restoreMangledIds are honoured; long, hyperedges are not). */
122
+ /** You set an option this format does not use; it had no effect. The message names the option. */
94
123
  OPTION_IGNORED: "W_OPTION_IGNORED";
95
- /** A builder-policy option the caller passed that the caller's sink does not use (the shared W_SINK_OPTION). */
124
+ /**
125
+ * You read into your own graph builder, which was created with a different `addMissingNodes`, `duplicateEdges`,
126
+ * `selfLoops` or `weightDtype` than the option you passed; the builder's setting applies.
127
+ */
96
128
  SINK_OPTION: "W_SINK_OPTION";
129
+ /** A double quote inside a token (a CSV-style doubled quote, a quote mid-word): removed and the parts joined. */
130
+ QUOTE_IN_TOKEN: "W_PAJEK_QUOTE_IN_TOKEN";
131
+ /** The same parameter twice on one line; the later value stands. */
132
+ DUPLICATE_ATTRIBUTE: "W_DUPLICATE_ATTRIBUTE";
133
+ /** A character reference beyond U+10FFFF in a label; kept as written. */
134
+ REFERENCE_RANGE: "W_PAJEK_REFERENCE_RANGE";
135
+ /** A line of a two-mode network whose endpoints are both in one mode. */
136
+ TWO_MODE_LINE: "W_PAJEK_TWO_MODE_LINE";
137
+ /** A bare non-integer number read as a vertex label before two coordinates (`1 0.1 0.2 0.3`); it may be an x y z line without a label. */
138
+ NUMERIC_LABEL: "W_PAJEK_NUMERIC_LABEL";
139
+ /** A relation number given a second name by a later `*Arcs :k "name"` header. */
140
+ RELATION_RENAMED: "W_PAJEK_RELATION_RENAMED";
141
+ /** A negative vertex number in an adjacency list, read as its absolute value. */
142
+ NEGATIVE_LIST_ENTRY: "W_PAJEK_NEGATIVE_LIST_ENTRY";
143
+ /** An integer beyond 2^53 was stored as the nearest 64-bit float; pass `long: "string"` to keep every digit. */
144
+ PRECISION: "W_PRECISION";
145
+ INVALID_ID: "E_INVALID_ID";
146
+ INVALID_WEIGHT: "E_INVALID_WEIGHT";
147
+ DUPLICATE_EDGE: "E_DUPLICATE_EDGE";
148
+ SELF_LOOP: "E_SELF_LOOP";
149
+ DUPLICATE_EDGE_ID: "E_DUPLICATE_EDGE_ID";
150
+ EMPTY_INPUT: "E_EMPTY_INPUT";
151
+ TOO_LARGE: "E_TOO_LARGE";
152
+ ENCODING_CONFLICT: "W_ENCODING_CONFLICT";
153
+ CONTROL_CHARACTER: "W_CONTROL_CHARACTER";
154
+ FOREIGN_FORMAT: "E_FOREIGN_FORMAT";
155
+ ISSUES_SUPPRESSED: "W_ISSUES_SUPPRESSED";
97
156
  }>;
98
- /** The Pajek NET importer. */
157
+ /**
158
+ * The Pajek NET importer.
159
+ * @category Built-in formats
160
+ */
99
161
  export declare const pajekImporter: GraphImporter<PajekImportOptions>;
100
162
  //# sourceMappingURL=importer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/pajek/importer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAsCH,OAAO,EAA4B,KAAK,aAAa,EAAuC,MAAM,gBAAgB,CAAC;AAwBnH,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED,yCAAyC;AACzC,eAAO,MAAM,WAAW;IACpB,6CAA6C;;IAE7C,+FAA+F;;IAE/F,kFAAkF;;IAElF,kEAAkE;;IAElE,6EAA6E;;IAE7E,+GAA+G;;IAE/G,oGAAoG;;IAEpG,mDAAmD;;IAEnD,kDAAkD;;IAElD,4DAA4D;;IAE5D,iDAAiD;;IAEjD,kDAAkD;;IAElD,2HAA2H;;IAE3H,qEAAqE;;IAErE,mGAAmG;;IAEnG,sFAAsF;;IAEtF,uCAAuC;;IAEvC,0FAA0F;;IAE1F,iFAAiF;;IAEjF,2JAA2J;;IAE3J,iHAAiH;;IAEjH,sEAAsE;;IAEtE,sDAAsD;;IAEtD,kDAAkD;;IAElD,kDAAkD;;IAElD,+EAA+E;;IAE/E,yEAAyE;;IAEzE,uGAAuG;;IAEvG,4IAA4I;;IAE5I,uFAAuF;;IAEvF,oGAAoG;;IAEpG,6GAA6G;;IAE7G,gJAAgJ;;IAEhJ,gHAAgH;;EAElH,CAAC;AAgzCH,8BAA8B;AAC9B,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,kBAAkB,CAgH1D,CAAC"}
1
+ {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/pajek/importer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAgDH,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAGrB,MAAM,gBAAgB,CAAC;AA0BxB;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB,EAAE,mBAAmB;IAC/E;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW;IAGpB,sDAAsD;;IAEtD;;;OAGG;;IAEH,kFAAkF;;IAElF,kEAAkE;;IAElE,mGAAmG;;IAEnG;;;OAGG;;IAEH;;;OAGG;;IAEH,uHAAuH;;IAEvH,oFAAoF;;IAEpF,mDAAmD;;IAEnD,kDAAkD;;IAElD,4DAA4D;;IAE5D,iFAAiF;;IAEjF,kDAAkD;;IAElD,2HAA2H;;IAE3H,qEAAqE;;IAErE;;;OAGG;;IAEH,iGAAiG;;IAEjG,uCAAuC;;IAEvC,0FAA0F;;IAE1F,iFAAiF;;IAEjF,2JAA2J;;IAE3J,iHAAiH;;IAEjH,gFAAgF;;IAEhF,sDAAsD;;IAEtD,0IAA0I;;IAE1I,kDAAkD;;IAElD,+EAA+E;;IAE/E,4GAA4G;;IAE5G;;;OAGG;;IAEH,uHAAuH;;IAEvH;;;OAGG;;IAEH,oGAAoG;;IAEpG,6GAA6G;;IAE7G,kGAAkG;;IAElG;;;OAGG;;IAEH,iHAAiH;;IAEjH,oEAAoE;;IAEpE,yEAAyE;;IAEzE,yEAAyE;;IAEzE,0IAA0I;;IAE1I,iFAAiF;;IAEjF,iFAAiF;;IAEjF,gHAAgH;;;;;;;;;;;;;EAElH,CAAC;AA0gDH;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,kBAAkB,CA0H1D,CAAC"}