@graphty/graph-io 0.3.42 → 0.3.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (674) hide show
  1. package/dist/chunks/approximations-3Q4TsdTh.js +40 -0
  2. package/dist/chunks/approximations-3Q4TsdTh.js.map +1 -0
  3. package/dist/chunks/block-JQiwViEt.js +2777 -0
  4. package/dist/chunks/block-JQiwViEt.js.map +1 -0
  5. package/dist/chunks/{choose-DvpbdRuz.js → choose-BemygfH8.js} +3 -2
  6. package/dist/chunks/{choose-DvpbdRuz.js.map → choose-BemygfH8.js.map} +1 -1
  7. package/dist/chunks/{constants-fT3E8JYY.js → constants-BFUR_CtU.js} +6 -2
  8. package/dist/chunks/constants-BFUR_CtU.js.map +1 -0
  9. package/dist/chunks/convert-BcQ8_jMo.js +59 -0
  10. package/dist/chunks/convert-BcQ8_jMo.js.map +1 -0
  11. package/dist/chunks/emit-DCwFLts5.js +3456 -0
  12. package/dist/chunks/emit-DCwFLts5.js.map +1 -0
  13. package/dist/chunks/{escape-B62ZGM_a.js → escape-B1rMftd9.js} +43 -20
  14. package/dist/chunks/escape-B1rMftd9.js.map +1 -0
  15. package/dist/chunks/{export-rKLeGQMo.js → export-D7IGzTG4.js} +196 -792
  16. package/dist/chunks/export-D7IGzTG4.js.map +1 -0
  17. package/dist/chunks/{exporter-BWwEuOPT.js → exporter-BtnqYuuj.js} +22 -12
  18. package/dist/chunks/exporter-BtnqYuuj.js.map +1 -0
  19. package/dist/chunks/{exporter-yLxKBvLE.js → exporter-ChPyhBOv.js} +4 -3
  20. package/dist/chunks/{exporter-yLxKBvLE.js.map → exporter-ChPyhBOv.js.map} +1 -1
  21. package/dist/chunks/{exporter-8hLNemFk.js → exporter-KEPxYUXD.js} +133 -74
  22. package/dist/chunks/exporter-KEPxYUXD.js.map +1 -0
  23. package/dist/chunks/{exporter-CpRyHZ3H.js → exporter-quPUCBiC.js} +1807 -288
  24. package/dist/chunks/exporter-quPUCBiC.js.map +1 -0
  25. package/dist/chunks/format-GDmO6m6Q.js +676 -0
  26. package/dist/chunks/format-GDmO6m6Q.js.map +1 -0
  27. package/dist/chunks/generic-BL06jrJf.js +1347 -0
  28. package/dist/chunks/generic-BL06jrJf.js.map +1 -0
  29. package/dist/chunks/{importer-WrGRZb0N.js → importer-B7r2owVf.js} +449 -102
  30. package/dist/chunks/importer-B7r2owVf.js.map +1 -0
  31. package/dist/chunks/{importer-Ht7LNg8L.js → importer-BFmOP96W.js} +116 -296
  32. package/dist/chunks/importer-BFmOP96W.js.map +1 -0
  33. package/dist/chunks/{importer-BbNb7eNg.js → importer-C2nzGhdV.js} +1390 -129
  34. package/dist/chunks/importer-C2nzGhdV.js.map +1 -0
  35. package/dist/chunks/{importer-Dz7tI8Sa.js → importer-CbX2_rNF.js} +617 -115
  36. package/dist/chunks/importer-CbX2_rNF.js.map +1 -0
  37. package/dist/chunks/{importer-D794XUTe.js → importer-CdzeN6X4.js} +31 -8
  38. package/dist/chunks/importer-CdzeN6X4.js.map +1 -0
  39. package/dist/chunks/{importer-xZ-3suY1.js → importer-ChKNC_GN.js} +791 -135
  40. package/dist/chunks/importer-ChKNC_GN.js.map +1 -0
  41. package/dist/chunks/{importer-C98dpSH4.js → importer-dwoYpSqb.js} +141 -82
  42. package/dist/chunks/importer-dwoYpSqb.js.map +1 -0
  43. package/dist/chunks/index-B9fdNpTA.js +4310 -0
  44. package/dist/chunks/index-B9fdNpTA.js.map +1 -0
  45. package/dist/chunks/{json-elements-DKSqpNW1.js → json-elements-C4FwgnH5.js} +123 -32
  46. package/dist/chunks/json-elements-C4FwgnH5.js.map +1 -0
  47. package/dist/chunks/lexicon-B-knUi-l.js +508 -0
  48. package/dist/chunks/lexicon-B-knUi-l.js.map +1 -0
  49. package/dist/chunks/{ontology-export-CtRXjg_i.js → ontology-export-BSpbY5FL.js} +3 -2
  50. package/dist/chunks/{ontology-export-CtRXjg_i.js.map → ontology-export-BSpbY5FL.js.map} +1 -1
  51. package/dist/chunks/{records-Cu4bxYOm.js → records-Nwz_rbNt.js} +2 -2
  52. package/dist/chunks/{records-Cu4bxYOm.js.map → records-Nwz_rbNt.js.map} +1 -1
  53. package/dist/chunks/styles-Brt9JMfs.js +690 -0
  54. package/dist/chunks/styles-Brt9JMfs.js.map +1 -0
  55. package/dist/chunks/styles-_N-C8S-U.js +2102 -0
  56. package/dist/chunks/styles-_N-C8S-U.js.map +1 -0
  57. package/dist/chunks/styles-yed-DAfcIkf7.js +842 -0
  58. package/dist/chunks/styles-yed-DAfcIkf7.js.map +1 -0
  59. package/dist/chunks/{text-DHOJXnED.js → text-CgzMqHQb.js} +2 -2
  60. package/dist/chunks/{text-DHOJXnED.js.map → text-CgzMqHQb.js.map} +1 -1
  61. package/dist/chunks/units-XMZFIFe1.js +19 -0
  62. package/dist/chunks/units-XMZFIFe1.js.map +1 -0
  63. package/dist/csv.js +5 -4
  64. package/dist/csv.js.map +1 -1
  65. package/dist/cx.js +1 -1
  66. package/dist/cx2.js +2 -2
  67. package/dist/cys.js +1 -1
  68. package/dist/dot.js +5 -2
  69. package/dist/dot.js.map +1 -1
  70. package/dist/gexf.js +295 -414
  71. package/dist/gexf.js.map +1 -1
  72. package/dist/gml.js +8 -3031
  73. package/dist/gml.js.map +1 -1
  74. package/dist/graph-io.js +354 -240
  75. package/dist/graph-io.js.map +1 -1
  76. package/dist/graphml.js +4 -2
  77. package/dist/graphml.js.map +1 -1
  78. package/dist/json.js +1 -1
  79. package/dist/neo4j.js +4 -3
  80. package/dist/neo4j.js.map +1 -1
  81. package/dist/obo.js +1 -1
  82. package/dist/pajek.js +4 -2
  83. package/dist/positions.d.ts +1 -0
  84. package/dist/positions.js +427 -0
  85. package/dist/positions.js.map +1 -0
  86. package/dist/src/common/codes.d.ts +6 -0
  87. package/dist/src/common/codes.d.ts.map +1 -1
  88. package/dist/src/common/codes.js +6 -0
  89. package/dist/src/common/codes.js.map +1 -1
  90. package/dist/src/common/escape.d.ts.map +1 -1
  91. package/dist/src/common/escape.js +4 -2
  92. package/dist/src/common/escape.js.map +1 -1
  93. package/dist/src/common/export.d.ts +10 -0
  94. package/dist/src/common/export.d.ts.map +1 -1
  95. package/dist/src/common/export.js +123 -100
  96. package/dist/src/common/export.js.map +1 -1
  97. package/dist/src/common/input.d.ts.map +1 -1
  98. package/dist/src/common/input.js +8 -1
  99. package/dist/src/common/input.js.map +1 -1
  100. package/dist/src/common/json-elements.d.ts +12 -9
  101. package/dist/src/common/json-elements.d.ts.map +1 -1
  102. package/dist/src/common/json-elements.js +160 -37
  103. package/dist/src/common/json-elements.js.map +1 -1
  104. package/dist/src/common/notes.d.ts +42 -0
  105. package/dist/src/common/notes.d.ts.map +1 -0
  106. package/dist/src/common/notes.js +72 -0
  107. package/dist/src/common/notes.js.map +1 -0
  108. package/dist/src/common/report.d.ts +18 -0
  109. package/dist/src/common/report.d.ts.map +1 -1
  110. package/dist/src/common/report.js +36 -1
  111. package/dist/src/common/report.js.map +1 -1
  112. package/dist/src/common/units.d.ts +24 -0
  113. package/dist/src/common/units.d.ts.map +1 -0
  114. package/dist/src/common/units.js +26 -0
  115. package/dist/src/common/units.js.map +1 -0
  116. package/dist/src/common/xml.d.ts +18 -0
  117. package/dist/src/common/xml.d.ts.map +1 -1
  118. package/dist/src/common/xml.js +42 -5
  119. package/dist/src/common/xml.js.map +1 -1
  120. package/dist/src/formats/cx/exporter.d.ts +6 -0
  121. package/dist/src/formats/cx/exporter.d.ts.map +1 -1
  122. package/dist/src/formats/cx/exporter.js +71 -8
  123. package/dist/src/formats/cx/exporter.js.map +1 -1
  124. package/dist/src/formats/cx/importer.d.ts +5 -2
  125. package/dist/src/formats/cx/importer.d.ts.map +1 -1
  126. package/dist/src/formats/cx/importer.js +102 -72
  127. package/dist/src/formats/cx/importer.js.map +1 -1
  128. package/dist/src/formats/cx/styles.d.ts +102 -0
  129. package/dist/src/formats/cx/styles.d.ts.map +1 -0
  130. package/dist/src/formats/cx/styles.js +225 -0
  131. package/dist/src/formats/cx/styles.js.map +1 -0
  132. package/dist/src/formats/cx2/exporter.d.ts +5 -0
  133. package/dist/src/formats/cx2/exporter.d.ts.map +1 -1
  134. package/dist/src/formats/cx2/exporter.js +181 -71
  135. package/dist/src/formats/cx2/exporter.js.map +1 -1
  136. package/dist/src/formats/cx2/importer.d.ts +4 -1
  137. package/dist/src/formats/cx2/importer.d.ts.map +1 -1
  138. package/dist/src/formats/cx2/importer.js +19 -1
  139. package/dist/src/formats/cx2/importer.js.map +1 -1
  140. package/dist/src/formats/cx2/styles.d.ts +18 -0
  141. package/dist/src/formats/cx2/styles.d.ts.map +1 -0
  142. package/dist/src/formats/cx2/styles.js +24 -0
  143. package/dist/src/formats/cx2/styles.js.map +1 -0
  144. package/dist/src/formats/cys/constants.d.ts +2 -0
  145. package/dist/src/formats/cys/constants.d.ts.map +1 -1
  146. package/dist/src/formats/cys/constants.js +2 -0
  147. package/dist/src/formats/cys/constants.js.map +1 -1
  148. package/dist/src/formats/cys/exporter.d.ts +6 -2
  149. package/dist/src/formats/cys/exporter.d.ts.map +1 -1
  150. package/dist/src/formats/cys/exporter.js +215 -53
  151. package/dist/src/formats/cys/exporter.js.map +1 -1
  152. package/dist/src/formats/cys/importer.d.ts +2 -1
  153. package/dist/src/formats/cys/importer.d.ts.map +1 -1
  154. package/dist/src/formats/cys/importer.js +119 -6
  155. package/dist/src/formats/cys/importer.js.map +1 -1
  156. package/dist/src/formats/cys/session.d.ts +2 -0
  157. package/dist/src/formats/cys/session.d.ts.map +1 -1
  158. package/dist/src/formats/cys/session.js +5 -0
  159. package/dist/src/formats/cys/session.js.map +1 -1
  160. package/dist/src/formats/cys/styles.d.ts +38 -0
  161. package/dist/src/formats/cys/styles.d.ts.map +1 -0
  162. package/dist/src/formats/cys/styles.js +213 -0
  163. package/dist/src/formats/cys/styles.js.map +1 -0
  164. package/dist/src/formats/cys/tables.d.ts +8 -3
  165. package/dist/src/formats/cys/tables.d.ts.map +1 -1
  166. package/dist/src/formats/cys/tables.js +88 -34
  167. package/dist/src/formats/cys/tables.js.map +1 -1
  168. package/dist/src/formats/dot/exporter.d.ts +2 -0
  169. package/dist/src/formats/dot/exporter.d.ts.map +1 -1
  170. package/dist/src/formats/dot/exporter.js +195 -81
  171. package/dist/src/formats/dot/exporter.js.map +1 -1
  172. package/dist/src/formats/dot/importer.d.ts.map +1 -1
  173. package/dist/src/formats/dot/importer.js +100 -20
  174. package/dist/src/formats/dot/importer.js.map +1 -1
  175. package/dist/src/formats/dot/index.d.ts +1 -0
  176. package/dist/src/formats/dot/index.d.ts.map +1 -1
  177. package/dist/src/formats/dot/index.js +1 -0
  178. package/dist/src/formats/dot/index.js.map +1 -1
  179. package/dist/src/formats/dot/positions.d.ts +14 -0
  180. package/dist/src/formats/dot/positions.d.ts.map +1 -0
  181. package/dist/src/formats/dot/positions.js +70 -0
  182. package/dist/src/formats/dot/positions.js.map +1 -0
  183. package/dist/src/formats/dot/styles.d.ts +82 -0
  184. package/dist/src/formats/dot/styles.d.ts.map +1 -0
  185. package/dist/src/formats/dot/styles.js +1484 -0
  186. package/dist/src/formats/dot/styles.js.map +1 -0
  187. package/dist/src/formats/gexf/exporter.d.ts.map +1 -1
  188. package/dist/src/formats/gexf/exporter.js +23 -7
  189. package/dist/src/formats/gexf/exporter.js.map +1 -1
  190. package/dist/src/formats/gexf/importer.d.ts +8 -1
  191. package/dist/src/formats/gexf/importer.d.ts.map +1 -1
  192. package/dist/src/formats/gexf/importer.js +251 -131
  193. package/dist/src/formats/gexf/importer.js.map +1 -1
  194. package/dist/src/formats/gexf/index.d.ts +8 -0
  195. package/dist/src/formats/gexf/index.d.ts.map +1 -1
  196. package/dist/src/formats/gexf/index.js +10 -2
  197. package/dist/src/formats/gexf/index.js.map +1 -1
  198. package/dist/src/formats/gexf/schema.d.ts +5 -0
  199. package/dist/src/formats/gexf/schema.d.ts.map +1 -1
  200. package/dist/src/formats/gexf/schema.js +5 -0
  201. package/dist/src/formats/gexf/schema.js.map +1 -1
  202. package/dist/src/formats/gexf/styles.d.ts +74 -0
  203. package/dist/src/formats/gexf/styles.d.ts.map +1 -0
  204. package/dist/src/formats/gexf/styles.js +604 -0
  205. package/dist/src/formats/gexf/styles.js.map +1 -0
  206. package/dist/src/formats/gml/exporter.d.ts +1 -5
  207. package/dist/src/formats/gml/exporter.d.ts.map +1 -1
  208. package/dist/src/formats/gml/exporter.js +19 -8
  209. package/dist/src/formats/gml/exporter.js.map +1 -1
  210. package/dist/src/formats/gml/importer.d.ts.map +1 -1
  211. package/dist/src/formats/gml/importer.js +4 -0
  212. package/dist/src/formats/gml/importer.js.map +1 -1
  213. package/dist/src/formats/gml/index.d.ts +2 -1
  214. package/dist/src/formats/gml/index.d.ts.map +1 -1
  215. package/dist/src/formats/gml/index.js +2 -1
  216. package/dist/src/formats/gml/index.js.map +1 -1
  217. package/dist/src/formats/gml/positions.d.ts +14 -0
  218. package/dist/src/formats/gml/positions.d.ts.map +1 -0
  219. package/dist/src/formats/gml/positions.js +46 -0
  220. package/dist/src/formats/gml/positions.js.map +1 -0
  221. package/dist/src/formats/gml/styles.d.ts +59 -0
  222. package/dist/src/formats/gml/styles.d.ts.map +1 -0
  223. package/dist/src/formats/gml/styles.js +1056 -0
  224. package/dist/src/formats/gml/styles.js.map +1 -0
  225. package/dist/src/formats/gml/syntax.d.ts +11 -0
  226. package/dist/src/formats/gml/syntax.d.ts.map +1 -1
  227. package/dist/src/formats/gml/syntax.js +151 -62
  228. package/dist/src/formats/gml/syntax.js.map +1 -1
  229. package/dist/src/formats/graphml/constants.d.ts +4 -0
  230. package/dist/src/formats/graphml/constants.d.ts.map +1 -1
  231. package/dist/src/formats/graphml/constants.js +5 -1
  232. package/dist/src/formats/graphml/constants.js.map +1 -1
  233. package/dist/src/formats/graphml/exporter.d.ts.map +1 -1
  234. package/dist/src/formats/graphml/exporter.js +133 -65
  235. package/dist/src/formats/graphml/exporter.js.map +1 -1
  236. package/dist/src/formats/graphml/importer.d.ts +4 -1
  237. package/dist/src/formats/graphml/importer.d.ts.map +1 -1
  238. package/dist/src/formats/graphml/importer.js +100 -44
  239. package/dist/src/formats/graphml/importer.js.map +1 -1
  240. package/dist/src/formats/graphml/index.d.ts +1 -0
  241. package/dist/src/formats/graphml/index.d.ts.map +1 -1
  242. package/dist/src/formats/graphml/index.js +1 -0
  243. package/dist/src/formats/graphml/index.js.map +1 -1
  244. package/dist/src/formats/graphml/styles-plain.d.ts +19 -0
  245. package/dist/src/formats/graphml/styles-plain.d.ts.map +1 -0
  246. package/dist/src/formats/graphml/styles-plain.js +187 -0
  247. package/dist/src/formats/graphml/styles-plain.js.map +1 -0
  248. package/dist/src/formats/graphml/styles-yed.d.ts +179 -0
  249. package/dist/src/formats/graphml/styles-yed.d.ts.map +1 -0
  250. package/dist/src/formats/graphml/styles-yed.js +1086 -0
  251. package/dist/src/formats/graphml/styles-yed.js.map +1 -0
  252. package/dist/src/formats/graphml/styles-yfiles3.d.ts +19 -0
  253. package/dist/src/formats/graphml/styles-yfiles3.d.ts.map +1 -0
  254. package/dist/src/formats/graphml/styles-yfiles3.js +508 -0
  255. package/dist/src/formats/graphml/styles-yfiles3.js.map +1 -0
  256. package/dist/src/formats/graphml/tree.d.ts.map +1 -1
  257. package/dist/src/formats/graphml/tree.js +34 -19
  258. package/dist/src/formats/graphml/tree.js.map +1 -1
  259. package/dist/src/formats/graphml/yfiles.d.ts +16 -2
  260. package/dist/src/formats/graphml/yfiles.d.ts.map +1 -1
  261. package/dist/src/formats/graphml/yfiles.js +83 -12
  262. package/dist/src/formats/graphml/yfiles.js.map +1 -1
  263. package/dist/src/formats/json/exporter.d.ts +5 -0
  264. package/dist/src/formats/json/exporter.d.ts.map +1 -1
  265. package/dist/src/formats/json/exporter.js +68 -25
  266. package/dist/src/formats/json/exporter.js.map +1 -1
  267. package/dist/src/formats/json/importer.d.ts +22 -3
  268. package/dist/src/formats/json/importer.d.ts.map +1 -1
  269. package/dist/src/formats/json/importer.js +441 -265
  270. package/dist/src/formats/json/importer.js.map +1 -1
  271. package/dist/src/formats/json/positions.d.ts +16 -0
  272. package/dist/src/formats/json/positions.d.ts.map +1 -0
  273. package/dist/src/formats/json/positions.js +44 -0
  274. package/dist/src/formats/json/positions.js.map +1 -0
  275. package/dist/src/formats/json/styles.d.ts +102 -0
  276. package/dist/src/formats/json/styles.d.ts.map +1 -0
  277. package/dist/src/formats/json/styles.js +1753 -0
  278. package/dist/src/formats/json/styles.js.map +1 -0
  279. package/dist/src/formats/neo4j/exporter.d.ts.map +1 -1
  280. package/dist/src/formats/neo4j/exporter.js +2 -1
  281. package/dist/src/formats/neo4j/exporter.js.map +1 -1
  282. package/dist/src/formats/pajek/exporter.d.ts +2 -0
  283. package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
  284. package/dist/src/formats/pajek/exporter.js +142 -76
  285. package/dist/src/formats/pajek/exporter.js.map +1 -1
  286. package/dist/src/formats/pajek/importer.d.ts +4 -0
  287. package/dist/src/formats/pajek/importer.d.ts.map +1 -1
  288. package/dist/src/formats/pajek/importer.js +60 -6
  289. package/dist/src/formats/pajek/importer.js.map +1 -1
  290. package/dist/src/formats/pajek/index.d.ts +2 -0
  291. package/dist/src/formats/pajek/index.d.ts.map +1 -1
  292. package/dist/src/formats/pajek/index.js +2 -0
  293. package/dist/src/formats/pajek/index.js.map +1 -1
  294. package/dist/src/formats/pajek/styles.d.ts +50 -0
  295. package/dist/src/formats/pajek/styles.d.ts.map +1 -0
  296. package/dist/src/formats/pajek/styles.js +569 -0
  297. package/dist/src/formats/pajek/styles.js.map +1 -0
  298. package/dist/src/formats/pajek/syntax.d.ts +6 -0
  299. package/dist/src/formats/pajek/syntax.d.ts.map +1 -1
  300. package/dist/src/formats/pajek/syntax.js +6 -0
  301. package/dist/src/formats/pajek/syntax.js.map +1 -1
  302. package/dist/src/formats/xgmml/columns.d.ts.map +1 -1
  303. package/dist/src/formats/xgmml/columns.js +34 -9
  304. package/dist/src/formats/xgmml/columns.js.map +1 -1
  305. package/dist/src/formats/xgmml/constants.d.ts +2 -0
  306. package/dist/src/formats/xgmml/constants.d.ts.map +1 -1
  307. package/dist/src/formats/xgmml/constants.js +3 -1
  308. package/dist/src/formats/xgmml/constants.js.map +1 -1
  309. package/dist/src/formats/xgmml/document.d.ts +12 -8
  310. package/dist/src/formats/xgmml/document.d.ts.map +1 -1
  311. package/dist/src/formats/xgmml/document.js +56 -13
  312. package/dist/src/formats/xgmml/document.js.map +1 -1
  313. package/dist/src/formats/xgmml/emit.d.ts.map +1 -1
  314. package/dist/src/formats/xgmml/emit.js +12 -6
  315. package/dist/src/formats/xgmml/emit.js.map +1 -1
  316. package/dist/src/formats/xgmml/exporter.d.ts +3 -1
  317. package/dist/src/formats/xgmml/exporter.d.ts.map +1 -1
  318. package/dist/src/formats/xgmml/exporter.js +22 -9
  319. package/dist/src/formats/xgmml/exporter.js.map +1 -1
  320. package/dist/src/formats/xgmml/importer.d.ts +2 -1
  321. package/dist/src/formats/xgmml/importer.d.ts.map +1 -1
  322. package/dist/src/formats/xgmml/importer.js +31 -24
  323. package/dist/src/formats/xgmml/importer.js.map +1 -1
  324. package/dist/src/formats/xgmml/styles.d.ts +104 -0
  325. package/dist/src/formats/xgmml/styles.d.ts.map +1 -0
  326. package/dist/src/formats/xgmml/styles.js +310 -0
  327. package/dist/src/formats/xgmml/styles.js.map +1 -0
  328. package/dist/src/index.d.ts +9 -7
  329. package/dist/src/index.d.ts.map +1 -1
  330. package/dist/src/index.js +7 -7
  331. package/dist/src/index.js.map +1 -1
  332. package/dist/src/positions/codes.d.ts +31 -0
  333. package/dist/src/positions/codes.d.ts.map +1 -0
  334. package/dist/src/positions/codes.js +26 -0
  335. package/dist/src/positions/codes.js.map +1 -0
  336. package/dist/src/positions/convert.d.ts +58 -0
  337. package/dist/src/positions/convert.d.ts.map +1 -0
  338. package/dist/src/positions/convert.js +107 -0
  339. package/dist/src/positions/convert.js.map +1 -0
  340. package/dist/src/positions/extract.d.ts +27 -0
  341. package/dist/src/positions/extract.d.ts.map +1 -0
  342. package/dist/src/positions/extract.js +526 -0
  343. package/dist/src/positions/extract.js.map +1 -0
  344. package/dist/src/positions/index.d.ts +10 -0
  345. package/dist/src/positions/index.d.ts.map +1 -0
  346. package/dist/src/positions/index.js +9 -0
  347. package/dist/src/positions/index.js.map +1 -0
  348. package/dist/src/positions/types.d.ts +208 -0
  349. package/dist/src/positions/types.d.ts.map +1 -0
  350. package/dist/src/positions/types.js +10 -0
  351. package/dist/src/positions/types.js.map +1 -0
  352. package/dist/src/registry.d.ts +30 -0
  353. package/dist/src/registry.d.ts.map +1 -1
  354. package/dist/src/registry.js +130 -9
  355. package/dist/src/registry.js.map +1 -1
  356. package/dist/src/styles/annotations.d.ts +132 -0
  357. package/dist/src/styles/annotations.d.ts.map +1 -0
  358. package/dist/src/styles/annotations.js +320 -0
  359. package/dist/src/styles/annotations.js.map +1 -0
  360. package/dist/src/styles/budget.d.ts +45 -0
  361. package/dist/src/styles/budget.d.ts.map +1 -0
  362. package/dist/src/styles/budget.js +58 -0
  363. package/dist/src/styles/budget.js.map +1 -0
  364. package/dist/src/styles/canon/bends.d.ts +32 -0
  365. package/dist/src/styles/canon/bends.d.ts.map +1 -0
  366. package/dist/src/styles/canon/bends.js +74 -0
  367. package/dist/src/styles/canon/bends.js.map +1 -0
  368. package/dist/src/styles/canon/color-tables.d.ts +22 -0
  369. package/dist/src/styles/canon/color-tables.d.ts.map +1 -0
  370. package/dist/src/styles/canon/color-tables.js +369 -0
  371. package/dist/src/styles/canon/color-tables.js.map +1 -0
  372. package/dist/src/styles/canon/color.d.ts +66 -0
  373. package/dist/src/styles/canon/color.d.ts.map +1 -0
  374. package/dist/src/styles/canon/color.js +548 -0
  375. package/dist/src/styles/canon/color.js.map +1 -0
  376. package/dist/src/styles/canon/enums.d.ts +25 -0
  377. package/dist/src/styles/canon/enums.d.ts.map +1 -0
  378. package/dist/src/styles/canon/enums.js +187 -0
  379. package/dist/src/styles/canon/enums.js.map +1 -0
  380. package/dist/src/styles/canon/graphviz.d.ts +48 -0
  381. package/dist/src/styles/canon/graphviz.d.ts.map +1 -0
  382. package/dist/src/styles/canon/graphviz.js +160 -0
  383. package/dist/src/styles/canon/graphviz.js.map +1 -0
  384. package/dist/src/styles/canon/index.d.ts +13 -0
  385. package/dist/src/styles/canon/index.d.ts.map +1 -0
  386. package/dist/src/styles/canon/index.js +13 -0
  387. package/dist/src/styles/canon/index.js.map +1 -0
  388. package/dist/src/styles/canon/number.d.ts +59 -0
  389. package/dist/src/styles/canon/number.d.ts.map +1 -0
  390. package/dist/src/styles/canon/number.js +142 -0
  391. package/dist/src/styles/canon/number.js.map +1 -0
  392. package/dist/src/styles/canon/site.d.ts +51 -0
  393. package/dist/src/styles/canon/site.d.ts.map +1 -0
  394. package/dist/src/styles/canon/site.js +63 -0
  395. package/dist/src/styles/canon/site.js.map +1 -0
  396. package/dist/src/styles/canon/text.d.ts +61 -0
  397. package/dist/src/styles/canon/text.d.ts.map +1 -0
  398. package/dist/src/styles/canon/text.js +199 -0
  399. package/dist/src/styles/canon/text.js.map +1 -0
  400. package/dist/src/styles/codes.d.ts +95 -0
  401. package/dist/src/styles/codes.d.ts.map +1 -0
  402. package/dist/src/styles/codes.js +97 -0
  403. package/dist/src/styles/codes.js.map +1 -0
  404. package/dist/src/styles/cyjs/cascade.d.ts +134 -0
  405. package/dist/src/styles/cyjs/cascade.d.ts.map +1 -0
  406. package/dist/src/styles/cyjs/cascade.js +2252 -0
  407. package/dist/src/styles/cyjs/cascade.js.map +1 -0
  408. package/dist/src/styles/cyjs/defaults-table.d.ts +25 -0
  409. package/dist/src/styles/cyjs/defaults-table.d.ts.map +1 -0
  410. package/dist/src/styles/cyjs/defaults-table.js +76 -0
  411. package/dist/src/styles/cyjs/defaults-table.js.map +1 -0
  412. package/dist/src/styles/cyjs/emit.d.ts +82 -0
  413. package/dist/src/styles/cyjs/emit.d.ts.map +1 -0
  414. package/dist/src/styles/cyjs/emit.js +790 -0
  415. package/dist/src/styles/cyjs/emit.js.map +1 -0
  416. package/dist/src/styles/cyjs/index.d.ts +13 -0
  417. package/dist/src/styles/cyjs/index.d.ts.map +1 -0
  418. package/dist/src/styles/cyjs/index.js +13 -0
  419. package/dist/src/styles/cyjs/index.js.map +1 -0
  420. package/dist/src/styles/cyjs/live.d.ts +46 -0
  421. package/dist/src/styles/cyjs/live.d.ts.map +1 -0
  422. package/dist/src/styles/cyjs/live.js +108 -0
  423. package/dist/src/styles/cyjs/live.js.map +1 -0
  424. package/dist/src/styles/cyjs/mappers.d.ts +147 -0
  425. package/dist/src/styles/cyjs/mappers.d.ts.map +1 -0
  426. package/dist/src/styles/cyjs/mappers.js +744 -0
  427. package/dist/src/styles/cyjs/mappers.js.map +1 -0
  428. package/dist/src/styles/cyjs/selector.d.ts +113 -0
  429. package/dist/src/styles/cyjs/selector.d.ts.map +1 -0
  430. package/dist/src/styles/cyjs/selector.js +611 -0
  431. package/dist/src/styles/cyjs/selector.js.map +1 -0
  432. package/dist/src/styles/cyjs/stylesheet-text.d.ts +37 -0
  433. package/dist/src/styles/cyjs/stylesheet-text.d.ts.map +1 -0
  434. package/dist/src/styles/cyjs/stylesheet-text.js +181 -0
  435. package/dist/src/styles/cyjs/stylesheet-text.js.map +1 -0
  436. package/dist/src/styles/cytoscape/emit.d.ts +125 -0
  437. package/dist/src/styles/cytoscape/emit.d.ts.map +1 -0
  438. package/dist/src/styles/cytoscape/emit.js +1025 -0
  439. package/dist/src/styles/cytoscape/emit.js.map +1 -0
  440. package/dist/src/styles/cytoscape/index.d.ts +10 -0
  441. package/dist/src/styles/cytoscape/index.d.ts.map +1 -0
  442. package/dist/src/styles/cytoscape/index.js +10 -0
  443. package/dist/src/styles/cytoscape/index.js.map +1 -0
  444. package/dist/src/styles/cytoscape/lexicon.d.ts +49 -0
  445. package/dist/src/styles/cytoscape/lexicon.d.ts.map +1 -0
  446. package/dist/src/styles/cytoscape/lexicon.js +603 -0
  447. package/dist/src/styles/cytoscape/lexicon.js.map +1 -0
  448. package/dist/src/styles/cytoscape/mappings.d.ts +171 -0
  449. package/dist/src/styles/cytoscape/mappings.d.ts.map +1 -0
  450. package/dist/src/styles/cytoscape/mappings.js +460 -0
  451. package/dist/src/styles/cytoscape/mappings.js.map +1 -0
  452. package/dist/src/styles/cytoscape/resolve.d.ts +137 -0
  453. package/dist/src/styles/cytoscape/resolve.d.ts.map +1 -0
  454. package/dist/src/styles/cytoscape/resolve.js +381 -0
  455. package/dist/src/styles/cytoscape/resolve.js.map +1 -0
  456. package/dist/src/styles/cytoscape/translate.d.ts +50 -0
  457. package/dist/src/styles/cytoscape/translate.d.ts.map +1 -0
  458. package/dist/src/styles/cytoscape/translate.js +156 -0
  459. package/dist/src/styles/cytoscape/translate.js.map +1 -0
  460. package/dist/src/styles/defaults.d.ts +90 -0
  461. package/dist/src/styles/defaults.d.ts.map +1 -0
  462. package/dist/src/styles/defaults.js +414 -0
  463. package/dist/src/styles/defaults.js.map +1 -0
  464. package/dist/src/styles/index.d.ts +15 -0
  465. package/dist/src/styles/index.d.ts.map +1 -0
  466. package/dist/src/styles/index.js +14 -0
  467. package/dist/src/styles/index.js.map +1 -0
  468. package/dist/src/styles/internal.d.ts +17 -0
  469. package/dist/src/styles/internal.d.ts.map +1 -0
  470. package/dist/src/styles/internal.js +16 -0
  471. package/dist/src/styles/internal.js.map +1 -0
  472. package/dist/src/styles/io/approximations.d.ts +24 -0
  473. package/dist/src/styles/io/approximations.d.ts.map +1 -0
  474. package/dist/src/styles/io/approximations.js +51 -0
  475. package/dist/src/styles/io/approximations.js.map +1 -0
  476. package/dist/src/styles/io/block.d.ts +166 -0
  477. package/dist/src/styles/io/block.d.ts.map +1 -0
  478. package/dist/src/styles/io/block.js +930 -0
  479. package/dist/src/styles/io/block.js.map +1 -0
  480. package/dist/src/styles/io/generic.d.ts +88 -0
  481. package/dist/src/styles/io/generic.d.ts.map +1 -0
  482. package/dist/src/styles/io/generic.js +516 -0
  483. package/dist/src/styles/io/generic.js.map +1 -0
  484. package/dist/src/styles/io/index.d.ts +8 -0
  485. package/dist/src/styles/io/index.d.ts.map +1 -0
  486. package/dist/src/styles/io/index.js +7 -0
  487. package/dist/src/styles/io/index.js.map +1 -0
  488. package/dist/src/styles/io/writer.d.ts +80 -0
  489. package/dist/src/styles/io/writer.d.ts.map +1 -0
  490. package/dist/src/styles/io/writer.js +596 -0
  491. package/dist/src/styles/io/writer.js.map +1 -0
  492. package/dist/src/styles/notes.d.ts +47 -0
  493. package/dist/src/styles/notes.d.ts.map +1 -0
  494. package/dist/src/styles/notes.js +140 -0
  495. package/dist/src/styles/notes.js.map +1 -0
  496. package/dist/src/styles/plan/classes.d.ts +31 -0
  497. package/dist/src/styles/plan/classes.d.ts.map +1 -0
  498. package/dist/src/styles/plan/classes.js +139 -0
  499. package/dist/src/styles/plan/classes.js.map +1 -0
  500. package/dist/src/styles/plan/continuous.d.ts +32 -0
  501. package/dist/src/styles/plan/continuous.d.ts.map +1 -0
  502. package/dist/src/styles/plan/continuous.js +165 -0
  503. package/dist/src/styles/plan/continuous.js.map +1 -0
  504. package/dist/src/styles/plan/discrete.d.ts +39 -0
  505. package/dist/src/styles/plan/discrete.d.ts.map +1 -0
  506. package/dist/src/styles/plan/discrete.js +127 -0
  507. package/dist/src/styles/plan/discrete.js.map +1 -0
  508. package/dist/src/styles/plan/families.d.ts +31 -0
  509. package/dist/src/styles/plan/families.d.ts.map +1 -0
  510. package/dist/src/styles/plan/families.js +95 -0
  511. package/dist/src/styles/plan/families.js.map +1 -0
  512. package/dist/src/styles/plan/features.d.ts +58 -0
  513. package/dist/src/styles/plan/features.d.ts.map +1 -0
  514. package/dist/src/styles/plan/features.js +185 -0
  515. package/dist/src/styles/plan/features.js.map +1 -0
  516. package/dist/src/styles/plan/index.d.ts +7 -0
  517. package/dist/src/styles/plan/index.d.ts.map +1 -0
  518. package/dist/src/styles/plan/index.js +7 -0
  519. package/dist/src/styles/plan/index.js.map +1 -0
  520. package/dist/src/styles/plan/plan.d.ts +71 -0
  521. package/dist/src/styles/plan/plan.d.ts.map +1 -0
  522. package/dist/src/styles/plan/plan.js +893 -0
  523. package/dist/src/styles/plan/plan.js.map +1 -0
  524. package/dist/src/styles/plan/resolve.d.ts +137 -0
  525. package/dist/src/styles/plan/resolve.d.ts.map +1 -0
  526. package/dist/src/styles/plan/resolve.js +587 -0
  527. package/dist/src/styles/plan/resolve.js.map +1 -0
  528. package/dist/src/styles/types.d.ts +702 -0
  529. package/dist/src/styles/types.d.ts.map +1 -0
  530. package/dist/src/styles/types.js +10 -0
  531. package/dist/src/styles/types.js.map +1 -0
  532. package/dist/src/styles/vocabulary.d.ts +41 -0
  533. package/dist/src/styles/vocabulary.d.ts.map +1 -0
  534. package/dist/src/styles/vocabulary.js +140 -0
  535. package/dist/src/styles/vocabulary.js.map +1 -0
  536. package/dist/src/types.d.ts +64 -1
  537. package/dist/src/types.d.ts.map +1 -1
  538. package/dist/src/types.js.map +1 -1
  539. package/dist/styles.d.ts +1 -0
  540. package/dist/styles.js +322 -0
  541. package/dist/styles.js.map +1 -0
  542. package/dist/xgmml.js +5 -4
  543. package/dist/xgmml.js.map +1 -1
  544. package/package.json +13 -2
  545. package/src/common/codes.ts +7 -0
  546. package/src/common/escape.ts +5 -2
  547. package/src/common/export.ts +179 -140
  548. package/src/common/input.ts +8 -4
  549. package/src/common/json-elements.ts +169 -38
  550. package/src/common/notes.ts +94 -0
  551. package/src/common/report.ts +41 -1
  552. package/src/common/units.ts +42 -0
  553. package/src/common/xml.ts +45 -5
  554. package/src/formats/cx/exporter.ts +95 -11
  555. package/src/formats/cx/importer.ts +126 -90
  556. package/src/formats/cx/styles.ts +304 -0
  557. package/src/formats/cx2/exporter.ts +234 -77
  558. package/src/formats/cx2/importer.ts +19 -1
  559. package/src/formats/cx2/styles.ts +29 -0
  560. package/src/formats/cys/constants.ts +3 -0
  561. package/src/formats/cys/exporter.ts +246 -60
  562. package/src/formats/cys/importer.ts +125 -9
  563. package/src/formats/cys/session.ts +6 -0
  564. package/src/formats/cys/styles.ts +254 -0
  565. package/src/formats/cys/tables.ts +117 -48
  566. package/src/formats/dot/exporter.ts +262 -126
  567. package/src/formats/dot/importer.ts +111 -20
  568. package/src/formats/dot/index.ts +1 -0
  569. package/src/formats/dot/positions.ts +77 -0
  570. package/src/formats/dot/styles.ts +1741 -0
  571. package/src/formats/gexf/exporter.ts +30 -13
  572. package/src/formats/gexf/importer.ts +308 -158
  573. package/src/formats/gexf/index.ts +10 -0
  574. package/src/formats/gexf/schema.ts +5 -0
  575. package/src/formats/gexf/styles.ts +719 -0
  576. package/src/formats/gml/exporter.ts +33 -14
  577. package/src/formats/gml/importer.ts +4 -0
  578. package/src/formats/gml/index.ts +2 -1
  579. package/src/formats/gml/positions.ts +52 -0
  580. package/src/formats/gml/styles.ts +1248 -0
  581. package/src/formats/gml/syntax.ts +173 -62
  582. package/src/formats/graphml/constants.ts +5 -0
  583. package/src/formats/graphml/exporter.ts +163 -71
  584. package/src/formats/graphml/importer.ts +119 -45
  585. package/src/formats/graphml/index.ts +1 -0
  586. package/src/formats/graphml/styles-plain.ts +236 -0
  587. package/src/formats/graphml/styles-yed.ts +1221 -0
  588. package/src/formats/graphml/styles-yfiles3.ts +573 -0
  589. package/src/formats/graphml/tree.ts +36 -20
  590. package/src/formats/graphml/yfiles.ts +89 -13
  591. package/src/formats/json/exporter.ts +76 -26
  592. package/src/formats/json/importer.ts +543 -323
  593. package/src/formats/json/positions.ts +50 -0
  594. package/src/formats/json/styles.ts +2082 -0
  595. package/src/formats/neo4j/exporter.ts +2 -1
  596. package/src/formats/pajek/exporter.ts +195 -106
  597. package/src/formats/pajek/importer.ts +78 -9
  598. package/src/formats/pajek/index.ts +2 -0
  599. package/src/formats/pajek/styles.ts +685 -0
  600. package/src/formats/pajek/syntax.ts +7 -0
  601. package/src/formats/xgmml/columns.ts +39 -9
  602. package/src/formats/xgmml/constants.ts +3 -0
  603. package/src/formats/xgmml/document.ts +54 -12
  604. package/src/formats/xgmml/emit.ts +11 -6
  605. package/src/formats/xgmml/exporter.ts +32 -13
  606. package/src/formats/xgmml/importer.ts +43 -29
  607. package/src/formats/xgmml/styles.ts +400 -0
  608. package/src/index.ts +16 -0
  609. package/src/positions/codes.ts +32 -0
  610. package/src/positions/convert.ts +123 -0
  611. package/src/positions/extract.ts +619 -0
  612. package/src/positions/index.ts +23 -0
  613. package/src/positions/types.ts +221 -0
  614. package/src/registry.ts +179 -8
  615. package/src/styles/annotations.ts +478 -0
  616. package/src/styles/budget.ts +60 -0
  617. package/src/styles/canon/bends.ts +84 -0
  618. package/src/styles/canon/color-tables.ts +386 -0
  619. package/src/styles/canon/color.ts +624 -0
  620. package/src/styles/canon/enums.ts +211 -0
  621. package/src/styles/canon/graphviz.ts +189 -0
  622. package/src/styles/canon/index.ts +13 -0
  623. package/src/styles/canon/number.ts +152 -0
  624. package/src/styles/canon/site.ts +87 -0
  625. package/src/styles/canon/text.ts +221 -0
  626. package/src/styles/codes.ts +104 -0
  627. package/src/styles/cyjs/cascade.ts +2670 -0
  628. package/src/styles/cyjs/defaults-table.ts +82 -0
  629. package/src/styles/cyjs/emit.ts +951 -0
  630. package/src/styles/cyjs/index.ts +37 -0
  631. package/src/styles/cyjs/live.ts +147 -0
  632. package/src/styles/cyjs/mappers.ts +879 -0
  633. package/src/styles/cyjs/selector.ts +778 -0
  634. package/src/styles/cyjs/stylesheet-text.ts +214 -0
  635. package/src/styles/cytoscape/emit.ts +1264 -0
  636. package/src/styles/cytoscape/index.ts +40 -0
  637. package/src/styles/cytoscape/lexicon.ts +656 -0
  638. package/src/styles/cytoscape/mappings.ts +603 -0
  639. package/src/styles/cytoscape/resolve.ts +521 -0
  640. package/src/styles/cytoscape/translate.ts +237 -0
  641. package/src/styles/defaults.ts +504 -0
  642. package/src/styles/index.ts +57 -0
  643. package/src/styles/internal.ts +17 -0
  644. package/src/styles/io/approximations.ts +47 -0
  645. package/src/styles/io/block.ts +1138 -0
  646. package/src/styles/io/generic.ts +687 -0
  647. package/src/styles/io/index.ts +18 -0
  648. package/src/styles/io/writer.ts +745 -0
  649. package/src/styles/notes.ts +165 -0
  650. package/src/styles/plan/classes.ts +166 -0
  651. package/src/styles/plan/continuous.ts +218 -0
  652. package/src/styles/plan/discrete.ts +165 -0
  653. package/src/styles/plan/families.ts +115 -0
  654. package/src/styles/plan/features.ts +234 -0
  655. package/src/styles/plan/index.ts +7 -0
  656. package/src/styles/plan/plan.ts +1129 -0
  657. package/src/styles/plan/resolve.ts +685 -0
  658. package/src/styles/types.ts +814 -0
  659. package/src/styles/vocabulary.ts +172 -0
  660. package/src/types.ts +76 -1
  661. package/dist/chunks/constants-fT3E8JYY.js.map +0 -1
  662. package/dist/chunks/escape-B62ZGM_a.js.map +0 -1
  663. package/dist/chunks/export-rKLeGQMo.js.map +0 -1
  664. package/dist/chunks/exporter-8hLNemFk.js.map +0 -1
  665. package/dist/chunks/exporter-BWwEuOPT.js.map +0 -1
  666. package/dist/chunks/exporter-CpRyHZ3H.js.map +0 -1
  667. package/dist/chunks/importer-BbNb7eNg.js.map +0 -1
  668. package/dist/chunks/importer-C98dpSH4.js.map +0 -1
  669. package/dist/chunks/importer-D794XUTe.js.map +0 -1
  670. package/dist/chunks/importer-Dz7tI8Sa.js.map +0 -1
  671. package/dist/chunks/importer-Ht7LNg8L.js.map +0 -1
  672. package/dist/chunks/importer-WrGRZb0N.js.map +0 -1
  673. package/dist/chunks/importer-xZ-3suY1.js.map +0 -1
  674. package/dist/chunks/json-elements-DKSqpNW1.js.map +0 -1
@@ -0,0 +1,208 @@
1
+ /**
2
+ * The types of `@graphty/graph-io/positions`: the neutral form every format's stored node
3
+ * coordinates are read into, and how a column or an importer says how its coordinates are spelled.
4
+ *
5
+ * The neutral convention: every coordinate is the node's center, y grows upward, in the file's own
6
+ * length unit (`units`), with 3 components (z = 0 when the file stored 2, or when every node has the
7
+ * same z).
8
+ */
9
+ import type { GraphTool, LengthUnit } from "../common/units.js";
10
+ import type { PositionNoteCode } from "./codes.js";
11
+ export type { GraphTool, LengthUnit } from "../common/units.js";
12
+ /**
13
+ * Which way a file's y coordinate grows. "down" is screen order (yEd, Cytoscape, Pajek, d3), "up"
14
+ * is math order (Gephi, Graphviz, graph-io's own position columns).
15
+ * @category Positions
16
+ */
17
+ export type YAxis = "up" | "down";
18
+ /**
19
+ * What a stored node coordinate points at: the node's center, or the top-left corner of its box
20
+ * (yEd), which needs the node's width and height to find the center.
21
+ * @category Positions
22
+ */
23
+ export type PositionAnchor = "center" | "top-left";
24
+ /**
25
+ * How a role-`position` column's values are spelled, as optional fields of the column's
26
+ * `meta.extra`. A missing field means y up, center, `"file"` units: what the Cytoscape-family,
27
+ * GEXF and DOT columns already hold.
28
+ * @category Positions
29
+ */
30
+ export interface PositionColumnExtra {
31
+ /** The unit of the coordinates. */
32
+ readonly units?: LengthUnit;
33
+ /**
34
+ * How many px (points) one unit of the coordinates is, when `units` is "file" but the file's
35
+ * unit is a known length: 72 for Graphviz input inches. Lets a reader draw the coordinates in
36
+ * the same unit as the file's px style lengths; the coordinates themselves stay as written.
37
+ */
38
+ readonly pxPerUnit?: number;
39
+ /** How many coordinates the file wrote per node: 2, or 3 when it stored a z. */
40
+ readonly sourceDims?: 2 | 3;
41
+ /** Which way y grows; "down" is flipped to y up. */
42
+ readonly yAxis?: YAxis;
43
+ /** What the coordinate points at; "top-left" is moved to the center using `width` and `height`. */
44
+ readonly anchor?: PositionAnchor;
45
+ /** The name of the node column holding each node's width, for a top-left anchor. */
46
+ readonly width?: string;
47
+ /** The name of the node column holding each node's height, for a top-left anchor. */
48
+ readonly height?: string;
49
+ /** A z the file centers its depth on (Pajek's 0.5): subtracted from a real z before any flip. */
50
+ readonly zOrigin?: number;
51
+ /**
52
+ * The file writes (0, 0) for a node it has no position for (NetworkX's Pajek writer): when other
53
+ * rows are placed, a (0, 0) shared by two or more rows counts as unplaced.
54
+ */
55
+ readonly zeroUnplaced?: boolean;
56
+ }
57
+ /**
58
+ * A group container's box, as an importer's `positions()` hook gives it: (`x`, `y`) is where the
59
+ * box's anchor is, spelled like the node coordinates (the same y direction and anchor).
60
+ * @category Positions
61
+ */
62
+ export interface ImporterGroupBox {
63
+ /** The container node, by index. */
64
+ readonly node: number;
65
+ /** The box. */
66
+ readonly box: {
67
+ /** The box's anchor, x. */
68
+ readonly x: number;
69
+ /** The box's anchor, y. */
70
+ readonly y: number;
71
+ /** The box's width. */
72
+ readonly width: number;
73
+ /** The box's height. */
74
+ readonly height: number;
75
+ };
76
+ }
77
+ /**
78
+ * What an importer's `positions()` hook returns: where its coordinates are and how they are spelled.
79
+ *
80
+ * The simple form names two (or three) plain numeric node columns:
81
+ * `{ x: "x", y: "y", yAxis: "down", units: "px" }`. The advanced form names a 3-component column
82
+ * (`column`) and may add the anchor, size columns, group boxes, a median node size and the tool.
83
+ * @category Positions
84
+ */
85
+ export interface ImporterPositions extends PositionColumnExtra {
86
+ /** A plain numeric node column holding x (simple form). */
87
+ readonly x?: string;
88
+ /** A plain numeric node column holding y (simple form). */
89
+ readonly y?: string;
90
+ /** A plain numeric node column holding z (simple form); omit for a 2D file. */
91
+ readonly z?: string;
92
+ /** A 3-component node column holding the coordinates (advanced form); defaults to the role-`position` column. */
93
+ readonly column?: string;
94
+ /** Group container boxes the file stores apart from the node coordinates (Graphviz cluster `bb`). */
95
+ readonly groups?: readonly ImporterGroupBox[];
96
+ /** The median node diameter in the file's unit, when the importer knows it better than the size columns. */
97
+ readonly medianNodeSize?: number | null;
98
+ /** The tool that wrote the file, when the importer knows it better than `meta.creator`. */
99
+ readonly tool?: GraphTool | null;
100
+ }
101
+ /**
102
+ * What an importer's `positions()` hook is given besides the snapshot.
103
+ * @category Positions
104
+ */
105
+ export interface PositionReadContext {
106
+ /** Aborts a long read. */
107
+ readonly signal: AbortSignal | null;
108
+ }
109
+ /**
110
+ * A note about the stored positions: a code with its parameters, never a sentence for a reader.
111
+ * `message` is graph-io's English for its own logs.
112
+ * @category Positions
113
+ */
114
+ export interface PositionNote {
115
+ /** The condition. */
116
+ readonly code: PositionNoteCode;
117
+ /** How many elements (or columns) it covers, and up to 8 examples. */
118
+ readonly params: {
119
+ /** How many elements (or columns) it covers. */
120
+ readonly count: number;
121
+ /** Up to 8 of their ids (or column names). */
122
+ readonly samples: readonly string[];
123
+ };
124
+ /** The node indexes it covers, or only their count when it is about the file as a whole. */
125
+ readonly elements: readonly number[] | {
126
+ /** How many it covers. */
127
+ readonly count: number;
128
+ };
129
+ /** graph-io's English; never shown to a reader by graphty-element. */
130
+ readonly message: string;
131
+ }
132
+ /**
133
+ * A group container's box in the neutral convention: (`x`, `y`) is the box's center, y up.
134
+ * @category Positions
135
+ */
136
+ export interface FilePositionGroup {
137
+ /** The container node, by index. */
138
+ readonly node: number;
139
+ /** The box: center, width and height in the file's unit. */
140
+ readonly box: {
141
+ /** The box's center, x. */
142
+ readonly x: number;
143
+ /** The box's center, y. */
144
+ readonly y: number;
145
+ /** The box's width. */
146
+ readonly width: number;
147
+ /** The box's height. */
148
+ readonly height: number;
149
+ };
150
+ }
151
+ /**
152
+ * A file's stored node coordinates in the neutral convention: the node's center, y up, in the
153
+ * file's own unit, 3 components per node.
154
+ * @category Positions
155
+ */
156
+ export interface FilePositions {
157
+ /** The shape version of this object. */
158
+ readonly version: 1;
159
+ /** Where the coordinates came from: the format, the tool that wrote the file, and the y direction it used. */
160
+ readonly source: {
161
+ /** The format that read the file. */
162
+ readonly format: string;
163
+ /** The tool that wrote the file, or null when the file does not say. */
164
+ readonly tool: GraphTool | null;
165
+ /** Which way y grew in the file; every coordinate here has y up. */
166
+ readonly yAxis: YAxis;
167
+ };
168
+ /** The unit of every coordinate and size. */
169
+ readonly units: LengthUnit;
170
+ /**
171
+ * How many px (points) one unit is, when `units` is "file" but the file's unit is a known
172
+ * length (Graphviz input inches: 72); absent otherwise. Multiply a coordinate by it to compare
173
+ * it with the file's px style lengths.
174
+ */
175
+ readonly pxPerUnit?: number;
176
+ /** The median node diameter, in `units`, when the file stores node sizes; else null. */
177
+ readonly medianNodeSize: number | null;
178
+ /** 3 when the nodes differ in z, else 2 (z is then 0). */
179
+ readonly dims: 2 | 3;
180
+ /** x, y, z per node, by node index (3 * nodeCount); NaN for a node with no position. */
181
+ readonly coords: Float64Array;
182
+ /** The nodes with a position. */
183
+ readonly placed: number;
184
+ /** The nodes that need one: every node except group containers the file gives no box. */
185
+ readonly total: number;
186
+ /** False when nothing is stored, or every node sits on one point (coords are then all NaN). */
187
+ readonly usable: boolean;
188
+ /** The box around every placed node, or null when none is placed. */
189
+ readonly bounds: {
190
+ /** The smallest x, y and z. */
191
+ readonly min: readonly [number, number, number];
192
+ /** The largest x, y and z. */
193
+ readonly max: readonly [number, number, number];
194
+ } | null;
195
+ /** Group containers with a box. */
196
+ readonly groups: readonly FilePositionGroup[];
197
+ /** What could not be read as written. */
198
+ readonly notes: readonly PositionNote[];
199
+ }
200
+ /**
201
+ * Options of `extractPositions()`.
202
+ * @category Positions
203
+ */
204
+ export interface ExtractPositionsOptions {
205
+ /** Aborts the read; it throws the signal's reason. */
206
+ readonly signal?: AbortSignal | null;
207
+ }
208
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/positions/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The types of `@graphty/graph-io/positions`: the neutral form every format's stored node
3
+ * coordinates are read into, and how a column or an importer says how its coordinates are spelled.
4
+ *
5
+ * The neutral convention: every coordinate is the node's center, y grows upward, in the file's own
6
+ * length unit (`units`), with 3 components (z = 0 when the file stored 2, or when every node has the
7
+ * same z).
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/positions/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -8,6 +8,8 @@
8
8
  */
9
9
  import { type FreezeOptions, type FreezeReport, type GraphBuilderOptions, type GraphSnapshot } from "@graphty/graph-format";
10
10
  import { type FormatName, type SniffHints, type SniffResult } from "./sniff.js";
11
+ import { type StyleImportOptions } from "./styles/io/generic.js";
12
+ import type { ExtractedStyles } from "./styles/types.js";
11
13
  import { type CommonExportOptions, type CommonImportOptions, type ExportCapabilities, type GraphChoiceOptions, type GraphExporter, type GraphImporter, type GraphListing, type ImportInput, type ImportReport, type LossNote } from "./types.js";
12
14
  /**
13
15
  * The input is in no format graph-io can read (or none of the formats you registered, for your own FormatRegistry).
@@ -79,6 +81,13 @@ export interface ImportGraphOptions extends CommonImportOptions, GraphChoiceOpti
79
81
  * @defaultValue 16777216
80
82
  */
81
83
  readonly maxEmptyCells?: number | undefined;
84
+ /**
85
+ * Read the file's styles too: `true`, or `{ toolDefaults: false }` to leave out the defaults of the program
86
+ * that wrote the file. The styles are in `result.styles`; the graph, the report and every export are the same
87
+ * either way.
88
+ * @defaultValue false
89
+ */
90
+ readonly styles?: boolean | StyleImportOptions | undefined;
82
91
  /** Format-specific options, passed to the importer as they are. */
83
92
  readonly [formatOption: string]: unknown;
84
93
  }
@@ -113,6 +122,12 @@ export interface ImportGraphResult {
113
122
  * can ignore it. It is not enumerable, so `console.log(result)` and `{ ...result }` leave it out.
114
123
  */
115
124
  readonly freeze: FreezeReport;
125
+ /**
126
+ * The file's styles, when you passed the `styles` option: the rules that reproduce how the program that wrote
127
+ * the file draws each node and edge, read by the importer that read the file. Null when the file has none.
128
+ * Absent without the option.
129
+ */
130
+ readonly styles?: ExtractedStyles | null;
116
131
  }
117
132
  /**
118
133
  * Options for loadFromUrl(): everything importGraph() accepts, plus the fetch request settings.
@@ -176,6 +191,13 @@ export interface FormatInfo {
176
191
  * @category Saving
177
192
  */
178
193
  export interface ExportGraphOptions extends CommonExportOptions {
194
+ /**
195
+ * Write these styles too (`result.styles` of an import, or styles built for this graph): each element's look in
196
+ * the format's own style slots and, where the format can keep them, the rules, so importing the file back
197
+ * rebuilds them. What the format cannot hold is a W_STYLE_ note of checkExport(). Styles read from or built for a
198
+ * different graph fail with E_STYLES_MISMATCH before anything is written.
199
+ */
200
+ readonly styles?: ExtractedStyles | null | undefined;
179
201
  /** Format-specific options, passed to the exporter as they are. */
180
202
  readonly [formatOption: string]: unknown;
181
203
  }
@@ -328,6 +350,14 @@ export declare class FormatRegistry {
328
350
  * @returns the encoded chunks
329
351
  */
330
352
  exportGraph(snapshot: GraphSnapshot, format: FormatName, options?: ExportGraphOptions | CommonExportOptions): AsyncIterable<Uint8Array>;
353
+ /**
354
+ * An export with styles worked out, or null when no styles were given (the export is then exactly as before).
355
+ * @param snapshot - the graph
356
+ * @param format - the format name
357
+ * @param options - the caller's options
358
+ * @returns the exporter, the snapshot and options to hand it, the style losses and any refusal
359
+ */
360
+ private styled;
331
361
  /**
332
362
  * Write a snapshot in a format, as one string.
333
363
  * @param snapshot - the snapshot
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/registry.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import { GraphFormatError, } from "@graphty/graph-format";
10
10
  import { CellBudgetBuilder, maxEmptyCellsOption } from "./common/cell-budget.js";
11
- import { EDGES_MERGED_CODE, EMPTY_INPUT_CODE, FETCH_CODE, OPTION_IGNORED_CODE, SELF_LOOPS_DROPPED_CODE, UNKNOWN_OPTION_CODE, WEIGHT_NOT_FOUND_CODE, } from "./common/codes.js";
11
+ import { EDGES_MERGED_CODE, EMPTY_INPUT_CODE, FETCH_CODE, OPTION_IGNORED_CODE, SELF_LOOPS_DROPPED_CODE, STYLES_NOT_IMPORTED_CODE, UNKNOWN_OPTION_CODE, WEIGHT_NOT_FOUND_CODE, } from "./common/codes.js";
12
12
  import { abortable, foreignKind, lockReader, normalizeInput, throwIfAborted } from "./common/input.js";
13
13
  import { chooseGraph, resolveImportOptions } from "./common/options.js";
14
14
  import { agree, plural } from "./common/plural.js";
@@ -28,6 +28,8 @@ import { oboExporter, oboImporter } from "./formats/obo/index.js";
28
28
  import { pajekExporter, pajekImporter } from "./formats/pajek/index.js";
29
29
  import { xgmmlExporter, xgmmlImporter } from "./formats/xgmml/index.js";
30
30
  import { rankFormats, SNIFF_HEAD_BYTES } from "./sniff.js";
31
+ import { extractStyles } from "./styles/io/generic.js";
32
+ import { isKeptGraphtyProperty, prepareStyleExport } from "./styles/io/writer.js";
31
33
  import { ImportError, } from "./types.js";
32
34
  /**
33
35
  * The input is in no format graph-io can read (or none of the formats you registered, for your own FormatRegistry).
@@ -70,6 +72,7 @@ const FUNCTION_OPTIONS = new Set([
70
72
  "sanitizeIds",
71
73
  "selfLoops",
72
74
  "signal",
75
+ "styles",
73
76
  "weightDtype",
74
77
  "weightFrom",
75
78
  ]);
@@ -81,6 +84,7 @@ const REGISTRY_KEYS = new Set([
81
84
  "builder",
82
85
  "freeze",
83
86
  "maxEmptyCells",
87
+ "styles",
84
88
  ]);
85
89
  /**
86
90
  * A registry of importers and exporters by format name. Registration order is the tie-break
@@ -423,7 +427,38 @@ export class FormatRegistry {
423
427
  * @returns the encoded chunks
424
428
  */
425
429
  exportGraph(snapshot, format, options) {
426
- return this.exporter(format).export(snapshot, options);
430
+ const styled = this.styled(snapshot, format, options);
431
+ if (styled === null) {
432
+ return this.exporter(format).export(snapshot, options);
433
+ }
434
+ if (styled.refusal !== null) {
435
+ return refuse(styled.refusal);
436
+ }
437
+ return styled.exporter.export(styled.snapshot, styled.options);
438
+ }
439
+ /**
440
+ * An export with styles worked out, or null when no styles were given (the export is then exactly as before).
441
+ * @param snapshot - the graph
442
+ * @param format - the format name
443
+ * @param options - the caller's options
444
+ * @returns the exporter, the snapshot and options to hand it, the style losses and any refusal
445
+ */
446
+ styled(snapshot, format, options) {
447
+ const styles = options?.styles;
448
+ if (styles === undefined || styles === null) {
449
+ return null;
450
+ }
451
+ const exporter = this.exporter(format);
452
+ const { styles: _given, ...rest } = options;
453
+ const prepared = prepareStyleExport(snapshot, exporter, styles, rest);
454
+ return {
455
+ exporter,
456
+ snapshot: prepared.snapshot,
457
+ options: prepared.input === null ? rest : { ...rest, styles: prepared.input },
458
+ plain: rest,
459
+ notes: prepared.notes,
460
+ refusal: prepared.refusal,
461
+ };
427
462
  }
428
463
  /**
429
464
  * Write a snapshot in a format, as one string.
@@ -433,7 +468,14 @@ export class FormatRegistry {
433
468
  * @returns the whole document
434
469
  */
435
470
  async exportGraphToString(snapshot, format, options) {
436
- return this.exporter(format).exportToString(snapshot, options);
471
+ const styled = this.styled(snapshot, format, options);
472
+ if (styled === null) {
473
+ return this.exporter(format).exportToString(snapshot, options);
474
+ }
475
+ if (styled.refusal !== null) {
476
+ throw refusalError(styled.refusal);
477
+ }
478
+ return styled.exporter.exportToString(styled.snapshot, styled.options);
437
479
  }
438
480
  /**
439
481
  * Write a snapshot in a format as one buffer of UTF-8 bytes; see the top-level
@@ -470,7 +512,26 @@ export class FormatRegistry {
470
512
  * @returns the loss notes, empty when the export is exact
471
513
  */
472
514
  checkExport(snapshot, format, options) {
473
- const notes = this.exporter(format).check(snapshot, options);
515
+ const styled = this.styled(snapshot, format, options);
516
+ let notes;
517
+ if (styled === null) {
518
+ notes = this.exporter(format).check(snapshot, options);
519
+ }
520
+ else if (styled.refusal === null) {
521
+ // a property graph-io already reports as not written is reported once, whoever else notices
522
+ const key = (n) => `${n.code}\u0000${n.style?.target ?? ""}\u0000${n.style?.property ?? ""}`;
523
+ const reported = new Set(styled.notes.filter((n) => n.style !== undefined).map(key));
524
+ notes = [
525
+ ...styled.exporter
526
+ .check(styled.snapshot, styled.options)
527
+ .filter((n) => n.style === undefined ||
528
+ (!reported.has(key(n)) && !isKeptGraphtyProperty(n, styled.exporter))),
529
+ ...styled.notes,
530
+ ];
531
+ }
532
+ else {
533
+ notes = [...styled.exporter.check(snapshot, styled.plain), styled.refusal];
534
+ }
474
535
  const unknown = this.unknownOptions(options);
475
536
  if (unknown.length === 0) {
476
537
  return notes;
@@ -549,7 +610,7 @@ export class FormatRegistry {
549
610
  mimeTypes: importer?.mimeTypes ?? exporter?.mimeTypes ?? [],
550
611
  canImport: importer !== undefined,
551
612
  canExport: exporter !== undefined,
552
- capabilities: exporter?.capabilities ?? null,
613
+ capabilities: capabilitiesOf(exporter),
553
614
  });
554
615
  });
555
616
  }
@@ -1014,22 +1075,82 @@ function result(chosen, builder, report, options) {
1014
1075
  throw freezeFailure(err, report);
1015
1076
  }
1016
1077
  const { warnings } = chosen;
1078
+ const wanted = options.styles;
1079
+ let styles;
1080
+ if (wanted !== undefined && wanted !== false) {
1081
+ styles = extractStyles(chosen.importer, frozen.snapshot, report, {
1082
+ signal: options.signal,
1083
+ toolDefaults: typeof wanted === "object" ? wanted.toolDefaults : undefined,
1084
+ });
1085
+ }
1086
+ const read = styles !== undefined && chosen.importer.styles !== undefined ? withoutStylesNotImported(report) : report;
1017
1087
  const result = {
1018
1088
  format: chosen.importer.format,
1019
1089
  sniff: chosen.sniff,
1020
1090
  snapshot: frozen.snapshot,
1021
1091
  report: withFreezeWarnings(weightNotFound(warnings.length === 0
1022
- ? report
1092
+ ? read
1023
1093
  : Object.freeze({
1024
- ...report,
1025
- issues: Object.freeze([...warnings, ...report.issues]),
1026
- warningCount: report.warningCount + warnings.length,
1094
+ ...read,
1095
+ issues: Object.freeze([...warnings, ...read.issues]),
1096
+ warningCount: read.warningCount + warnings.length,
1027
1097
  }), frozen.snapshot, options.weightFrom), frozen.report),
1028
1098
  };
1099
+ if (styles !== undefined) {
1100
+ Object.assign(result, { styles });
1101
+ }
1029
1102
  // not enumerable: it holds one entry per edge, and console.log(result) should show the graph, not that
1030
1103
  Object.defineProperty(result, "freeze", { value: frozen.report, enumerable: false });
1031
1104
  return Object.freeze(result);
1032
1105
  }
1106
+ /**
1107
+ * A report without its W_STYLES_NOT_IMPORTED warnings: the importer read the styles it would have named.
1108
+ * @param report - the importer's report
1109
+ * @returns the report, a copy only when it held such a warning
1110
+ */
1111
+ function withoutStylesNotImported(report) {
1112
+ const issues = report.issues.filter((i) => i.code !== STYLES_NOT_IMPORTED_CODE);
1113
+ if (issues.length === report.issues.length) {
1114
+ return report;
1115
+ }
1116
+ return Object.freeze({
1117
+ ...report,
1118
+ issues: Object.freeze(issues),
1119
+ warningCount: report.warningCount - (report.issues.length - issues.length),
1120
+ });
1121
+ }
1122
+ /**
1123
+ * The error an export refused for its styles throws.
1124
+ * @param note - the refusal note
1125
+ * @returns the error
1126
+ */
1127
+ function refusalError(note) {
1128
+ return new GraphFormatError("E_UNSUPPORTED", note.message, { code: note.code });
1129
+ }
1130
+ /**
1131
+ * Chunks that fail on the first read, before any byte: an export refused for its styles.
1132
+ * @param note - the refusal note
1133
+ * @returns chunks whose first read rejects
1134
+ */
1135
+ function refuse(note) {
1136
+ return {
1137
+ [Symbol.asyncIterator]: () => ({ next: () => Promise.reject(refusalError(note)) }),
1138
+ };
1139
+ }
1140
+ /**
1141
+ * The capabilities listFormats() reports for an exporter: its table plus, when it writes styles, their capabilities.
1142
+ * @param exporter - the exporter, or undefined
1143
+ * @returns the capabilities, or null
1144
+ */
1145
+ function capabilitiesOf(exporter) {
1146
+ if (exporter === undefined) {
1147
+ return null;
1148
+ }
1149
+ if (exporter.styles === undefined) {
1150
+ return exporter.capabilities;
1151
+ }
1152
+ return Object.freeze({ ...exporter.capabilities, styles: exporter.styles.capabilities });
1153
+ }
1033
1154
  /**
1034
1155
  * The message of a W_UNKNOWN_OPTION warning or note.
1035
1156
  * @param name - the option name