@graphty/graph-io 0.3.24 → 0.3.26

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-BbJI55dx.js +56 -0
  4. package/dist/chunks/choose-BbJI55dx.js.map +1 -0
  5. package/dist/chunks/constants-BCsFsMj4.js +231 -0
  6. package/dist/chunks/constants-BCsFsMj4.js.map +1 -0
  7. package/dist/chunks/{escape-B-tkk_Cl.js → escape-D0g6NNUy.js} +382 -92
  8. package/dist/chunks/escape-D0g6NNUy.js.map +1 -0
  9. package/dist/chunks/export-BTI4yQgy.js +4333 -0
  10. package/dist/chunks/export-BTI4yQgy.js.map +1 -0
  11. package/dist/chunks/exporter-BMqk5oxW.js +3465 -0
  12. package/dist/chunks/exporter-BMqk5oxW.js.map +1 -0
  13. package/dist/chunks/{importer-eUREhBGj.js → exporter-Cra2GYcN.js} +4969 -3201
  14. package/dist/chunks/exporter-Cra2GYcN.js.map +1 -0
  15. package/dist/chunks/{exporter-BGrsWamJ.js → exporter-Dxh231ZF.js} +38 -229
  16. package/dist/chunks/exporter-Dxh231ZF.js.map +1 -0
  17. package/dist/chunks/{exporter-DIeGJXAZ.js → exporter-tne475KK.js} +22 -20
  18. package/dist/chunks/exporter-tne475KK.js.map +1 -0
  19. package/dist/chunks/importer-90YWhJoF.js +2811 -0
  20. package/dist/chunks/importer-90YWhJoF.js.map +1 -0
  21. package/dist/chunks/{importer-D_e7e7LX.js → importer-Bcl1d4xH.js} +398 -145
  22. package/dist/chunks/importer-Bcl1d4xH.js.map +1 -0
  23. package/dist/chunks/{importer-BWY2FFc5.js → importer-BfIsp1f9.js} +255 -77
  24. package/dist/chunks/importer-BfIsp1f9.js.map +1 -0
  25. package/dist/chunks/{importer-zGLo8Dg_.js → importer-C_TEA1zJ.js} +484 -157
  26. package/dist/chunks/importer-C_TEA1zJ.js.map +1 -0
  27. package/dist/chunks/{importer-DET1tg6s.js → importer-DCjOvO7U.js} +1687 -310
  28. package/dist/chunks/importer-DCjOvO7U.js.map +1 -0
  29. package/dist/chunks/{importer-vi3bSdtw.js → importer-DfVu6j59.js} +509 -76
  30. package/dist/chunks/importer-DfVu6j59.js.map +1 -0
  31. package/dist/chunks/{importer-DIrbbnAf.js → importer-Dku_VAIY.js} +585 -226
  32. package/dist/chunks/importer-Dku_VAIY.js.map +1 -0
  33. package/dist/chunks/json-elements-3tnyt5uZ.js +1225 -0
  34. package/dist/chunks/json-elements-3tnyt5uZ.js.map +1 -0
  35. package/dist/chunks/ontology-export-B9Tcf37D.js +357 -0
  36. package/dist/chunks/ontology-export-B9Tcf37D.js.map +1 -0
  37. package/dist/chunks/{records-dbRkxwaq.js → records-CQXT__mY.js} +298 -114
  38. package/dist/chunks/records-CQXT__mY.js.map +1 -0
  39. package/dist/chunks/{text-Dr0Ifpag.js → text-DmcUs5_Q.js} +29 -11
  40. package/dist/chunks/text-DmcUs5_Q.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 +951 -261
  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 +342 -85
  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 +564 -157
  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 +19 -1
  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 +33 -17
  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 +868 -188
  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 +2 -0
  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 +400 -83
  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 +145 -32
  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 +680 -285
  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 +226 -79
  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 +98 -24
  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 +108 -26
  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 +238 -85
  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 +66 -34
  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 +183 -51
  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 +20 -21
  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 +7 -2
  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 +38 -4
  468. package/src/common/direction.ts +78 -51
  469. package/src/common/escape.ts +33 -17
  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 +1034 -198
  475. package/src/common/line-format.ts +249 -0
  476. package/src/common/lists.ts +6 -1
  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 +477 -88
  487. package/src/common/zip.ts +169 -7
  488. package/src/formats/csv/exporter.ts +201 -46
  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 +888 -300
  496. package/src/formats/cx/index.ts +4 -3
  497. package/src/formats/cx2/exporter.ts +61 -338
  498. package/src/formats/cx2/importer.ts +317 -86
  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 +139 -31
  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 +111 -26
  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 +320 -101
  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 +89 -41
  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 +213 -52
  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 +35 -27
  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 +11 -3
  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
@@ -5,35 +5,67 @@
5
5
  * the ids the format cannot hold and hands the exporter the originals to write into its
6
6
  * `graphty:originalId` attribute).
7
7
  *
8
- * Every exporter's check() calls checkCapabilities() first and appends its format-specific notes
9
- * (design section 8.5 names W_GML_RECORD_NUMBER_TYPE and W_OPEN_INTERVAL); export() calls
8
+ * Every exporter's check() calls checkCapabilities() first and appends its format-specific notes;
9
+ * export() calls
10
10
  * sanitizeIds() before writing anything.
11
11
  */
12
12
  import { GraphFormatError, INVALID_INDEX, } from "@graphty/graph-format";
13
- import { COLUMN_RENAMED_LOSS_CODE, EMPTY_COLUMN_DROPPED_CODE, ID_TEXT_COLLISION_CODE, ID_TEXT_TYPE_CODE, INTEGRAL_F64_CODE, MIXED_DIRECTION_CODE, MUTUAL_AS_UNDIRECTED_CODE, MUTUAL_EXPANDED_CODE, OPTIONS_GAINED_CODE, PARENTS_DROPPED_CODE, ROLE_ASSUMED_CODE, ROLE_DROPPED_CODE, STORAGE_CLASS_CODE, TEMPORAL_DROPPED_CODE, TEMPORAL_TEXT_DROPPED_CODE, TEXT_INFERRED_CODE, WEIGHT_KEY_CLASH_CODE, XML_ILLEGAL_CHAR_CODE, } from "./codes.js";
14
- /** The shared LossNote codes of checkCapabilities(). */
13
+ import { COLUMN_DROPPED_CODE, COLUMN_RENAMED_LOSS_CODE, EMPTY_COLUMN_DROPPED_CODE, ID_TEXT_COLLISION_CODE, ID_TEXT_TYPE_CODE, INTEGRAL_F64_CODE, MIXED_DIRECTION_CODE, MUTUAL_AS_UNDIRECTED_CODE, MUTUAL_EXPANDED_CODE, NONFINITE_AS_NULL_CODE, OPTIONS_GAINED_CODE, PARENTS_DROPPED_CODE, ROLE_ASSUMED_CODE, ROLE_DROPPED_CODE, STORAGE_CLASS_CODE, TEMPORAL_DROPPED_CODE, TEMPORAL_TEXT_DROPPED_CODE, TEXT_INFERRED_CODE, WEIGHT_KEY_CLASH_CODE, WEIGHTS_DROPPED_CODE, XML_ILLEGAL_CHAR_CODE, } from "./codes.js";
14
+ import { coerceIdText } from "./ids.js";
15
+ import { agree, plural } from "./plural.js";
16
+ import { explicitWeights } from "./weights.js";
17
+ /** The code of node ids the format cannot write under `sanitizeIds: "error"`. */
18
+ const ID_CHARSET_REFUSAL = "E_ID_CHARSET";
19
+ /**
20
+ * The shared LossNote codes of checkCapabilities().
21
+ * @category Issue and loss codes
22
+ */
15
23
  export const LOSS = Object.freeze({
16
- /** The format has no mixed direction; expanded pairs are written per onMixedDirection. */
24
+ /**
25
+ * A node or edge attribute is not written: the format has no attributes, or none of this kind
26
+ * (`CheckExtras.attributes` false).
27
+ */
28
+ COLUMN_DROPPED: COLUMN_DROPPED_CODE,
29
+ /**
30
+ * The graph has both directed and undirected edges, the format holds one direction per file, and
31
+ * `onMixedDirection` is "directed" or "undirected": every edge is written with that direction.
32
+ */
17
33
  MIXED_DIRECTION: "W_MIXED_DIRECTION",
18
- /** The format has no mixed direction and onMixedDirection is "error": export() will throw E_DIRECTED. */
34
+ /**
35
+ * The graph has both directed and undirected edges and `onMixedDirection` is "error". An import stops; a save to a
36
+ * format that holds one direction per file fails with E_DIRECTED. Pass "directed" or "undirected" to read or write
37
+ * it anyway.
38
+ */
19
39
  MIXED_DIRECTION_ERROR: MIXED_DIRECTION_CODE,
20
40
  /** Parallel edges in a format without them. */
21
41
  MULTI_EDGES: "W_MULTI_EDGES",
22
42
  /** Self-loops in a format without them. */
23
43
  SELF_LOOPS: "W_SELF_LOOPS",
24
- /** The format requires edge ids and the snapshot has none; canonical e0..e{E-1} are generated. */
44
+ /**
45
+ * The format needs an id on every edge and the graph has none, so the file gets ids e0, e1, e2 and so on, which
46
+ * read back as edge ids.
47
+ */
25
48
  EDGE_IDS_GENERATED: "W_EDGE_IDS_GENERATED",
26
- /** The snapshot has an edge id column and the format cannot write one. */
49
+ /** The graph has edge ids and the format has no place for them, so they are not written. */
27
50
  EDGE_IDS_DROPPED: "W_EDGE_IDS_DROPPED",
28
51
  /** Ids outside the format's charset are rewritten (sanitizeIds "mangle"). */
29
52
  ID_MANGLED: "W_ID_MANGLED",
30
- /** Ids outside the format's charset and sanitizeIds "error": export() will throw E_INVALID_ID. */
31
- ID_CHARSET: "E_ID_CHARSET",
53
+ /**
54
+ * Node ids the format cannot write, under `sanitizeIds: "error"`; the save fails with E_INVALID_ID. Pass
55
+ * `sanitizeIds: "mangle"` to rewrite them.
56
+ */
57
+ ID_CHARSET: ID_CHARSET_REFUSAL,
32
58
  /** The format numbers nodes 1..N; ids that are not their 1-based index are kept as labels only. */
33
59
  ID_RENUMBERED: "W_ID_RENUMBERED",
34
- /** A column dtype the format does not keep as declared. */
60
+ /**
61
+ * An attribute's type is one the format cannot store as it is (for example, a 32-bit float in a format that has only 64-bit
62
+ * numbers), so it reads back with the nearest type the format has.
63
+ */
35
64
  DTYPE: "W_DTYPE_UNSUPPORTED",
36
- /** A multi-component column in a format without strides. */
65
+ /**
66
+ * An attribute with several numbers per element (other than a position) is written as separate values or a list,
67
+ * and does not read back as one attribute.
68
+ */
37
69
  COMPONENTS: "W_COMPONENTS_FLATTENED",
38
70
  /** A list column in a format without lists. */
39
71
  LIST: "W_LIST_UNSUPPORTED",
@@ -47,9 +79,9 @@ export const LOSS = Object.freeze({
47
79
  HIERARCHY: "W_HIERARCHY_DROPPED",
48
80
  /** A start / end / timestamp column in a format without temporal support. */
49
81
  TEMPORAL: TEMPORAL_DROPPED_CODE,
50
- /** A `<column>.text` companion (design section 5.1) the format cannot carry. */
82
+ /** A `<column>.text` companion the format cannot carry. */
51
83
  TEMPORAL_TEXT: TEMPORAL_TEXT_DROPPED_CODE,
52
- /** A role column the format has no slot for; written as a plain attribute, the role lost. */
84
+ /** An attribute with a role the format has no place for is written as a plain attribute; the role is lost. */
53
85
  ROLE: ROLE_DROPPED_CODE,
54
86
  /** A parents (multi-parent) column in a format with single containment only. */
55
87
  PARENTS: PARENTS_DROPPED_CODE,
@@ -59,31 +91,55 @@ export const LOSS = Object.freeze({
59
91
  MUTUAL_AS_UNDIRECTED: MUTUAL_AS_UNDIRECTED_CODE,
60
92
  /** Node ids whose written text reads back as the other type under the importer's id rule. */
61
93
  ID_TEXT_TYPE: ID_TEXT_TYPE_CODE,
62
- /** Two node ids share one written text; export() throws E_INVALID_ID. */
94
+ /**
95
+ * Two node ids would be written as the same text (the number 5 and the text "5"); the save fails with
96
+ * E_INVALID_ID.
97
+ */
63
98
  ID_TEXT_COLLISION: ID_TEXT_COLLISION_CODE,
64
- /** A plain column named like the importer's weight key reads back as THE weight. */
99
+ /**
100
+ * An attribute without the weight role is named like the attribute graph-io reads weights from (for example, `weight`), so
101
+ * it reads back as the edge weight.
102
+ */
65
103
  WEIGHT_KEY_CLASH: WEIGHT_KEY_CLASH_CODE,
66
- /** A role-less column whose written name the importer maps to a role. */
104
+ /**
105
+ * An attribute without a role is written where the format keeps a role (for example, a `name` column as the label), and
106
+ * reads back with that role.
107
+ */
67
108
  ROLE_ASSUMED: ROLE_ASSUMED_CODE,
68
- /** A role column written into the format's slot reads back under the importer's fixed name. */
109
+ /**
110
+ * An attribute with a role (for example, the label) is written where the format keeps that role, and reads back under the
111
+ * name the format's importer gives it.
112
+ */
69
113
  COLUMN_NAME_CHANGED: COLUMN_RENAMED_LOSS_CODE,
70
114
  /** A declared column whose every row is unset vanishes through a format without declarations. */
71
115
  EMPTY_COLUMN: EMPTY_COLUMN_DROPPED_CODE,
72
- /** A string / dict column that reads back as the other storage class (the dictionary heuristic). */
116
+ /**
117
+ * A text attribute reads back as a dictionary attribute, or the reverse, because the importer chooses by how often
118
+ * its values repeat. The values are the same.
119
+ */
73
120
  STORAGE_CLASS: STORAGE_CLASS_CODE,
74
- /** An f64 column whose set values are all integral reads back as i32 through an untyped format. */
121
+ /**
122
+ * A number attribute whose values are all whole numbers reads back as integers, because the format does not record
123
+ * the type.
124
+ */
75
125
  INTEGRAL_F64: INTEGRAL_F64_CODE,
76
- /** Text cells that read back as numbers or booleans under the 5.1 grammar. */
126
+ /**
127
+ * A text value that reads back as a number or a boolean, because the format does not record that it was text (the
128
+ * text "42" reads back as the number 42).
129
+ */
77
130
  TEXT_INFERRED: TEXT_INFERRED_CODE,
78
- /** A string cell holding a character XML 1.0 forbids; export() throws E_COLUMN_TYPE. */
131
+ /** A text value holds a character XML 1.0 forbids (most control characters); the save fails with E_COLUMN_TYPE. */
79
132
  XML_ILLEGAL_CHAR: XML_ILLEGAL_CHAR_CODE,
80
- /** A dict column without declared options gains one on re-import. */
133
+ /**
134
+ * A text attribute stored as a dictionary, without a declared list of allowed values, reads back with its distinct
135
+ * values as that list.
136
+ */
81
137
  OPTIONS_GAINED: OPTIONS_GAINED_CODE,
82
138
  /** A spells column in a format without spells. */
83
139
  SPELLS: "W_SPELLS_DROPPED",
84
140
  /** Dynamic attribute values (extension tables) in a format without them. */
85
141
  DYNAMIC_VALUES: "W_DYNAMIC_VALUES_DROPPED",
86
- /** An open-interval column in a format without open intervals (design section 5.1). */
142
+ /** An open-interval column in a format without open intervals. */
87
143
  OPEN_INTERVAL: "W_OPEN_INTERVAL",
88
144
  /** Graph-level attributes in a format without them. */
89
145
  GRAPH_ATTRIBUTES: "W_GRAPH_ATTRIBUTES_DROPPED",
@@ -93,8 +149,45 @@ export const LOSS = Object.freeze({
93
149
  VIZ: "W_VIZ_DROPPED",
94
150
  /** An extension table the format cannot carry. */
95
151
  EXTENSION_TABLE: "W_EXTENSION_TABLE_DROPPED",
152
+ /** A NaN or infinite number the format cannot spell; not written (or written as null), it reads back unset. */
153
+ NONFINITE_AS_NULL: NONFINITE_AS_NULL_CODE,
154
+ /**
155
+ * The graph has edge weights and the file does not keep them (the format has no weights, or an option turned them
156
+ * off): every edge reads back with the default weight 1.
157
+ */
158
+ WEIGHTS_DROPPED: WEIGHTS_DROPPED_CODE,
96
159
  });
97
- /** The capabilities of a format that keeps nothing beyond plain topology; the base every exporter overrides. */
160
+ /**
161
+ * The error a save throws for the first `E_` note of a check() result, or null when there is none.
162
+ * An exporter calls it before it writes anything, so every format refuses a save the same way: an
163
+ * id note (E_ID_CHARSET, E_ID_TEXT_COLLISION) throws E_INVALID_ID, E_MIXED_DIRECTION throws
164
+ * E_DIRECTED, E_XML_ILLEGAL_CHAR throws E_COLUMN_TYPE, and any other note E_UNSUPPORTED. Map your
165
+ * own note codes onto these with `codes`. The error's `details.code` is the note's code.
166
+ * @param notes - what check() returned
167
+ * @param codes - the error code for each of your own note codes, such as
168
+ * `{ E_PAIRS_BAD_ID: "E_INVALID_ID" }`
169
+ * @returns the error to throw, or null
170
+ * @category Writing a format
171
+ */
172
+ export function refusedSave(notes, codes = {}) {
173
+ const note = notes.find((n) => n.code.startsWith("E_"));
174
+ if (note === undefined) {
175
+ return null;
176
+ }
177
+ const code = codes[note.code] ?? REFUSAL_CODES[note.code] ?? "E_UNSUPPORTED";
178
+ return new GraphFormatError(code, note.message, { code: note.code, column: note.column, count: note.count });
179
+ }
180
+ /** The error code a save throws for each shared refusal note. */
181
+ const REFUSAL_CODES = {
182
+ [ID_CHARSET_REFUSAL]: "E_INVALID_ID",
183
+ [ID_TEXT_COLLISION_CODE]: "E_INVALID_ID",
184
+ [MIXED_DIRECTION_CODE]: "E_DIRECTED",
185
+ [XML_ILLEGAL_CHAR_CODE]: "E_COLUMN_TYPE",
186
+ };
187
+ /**
188
+ * The capabilities of a format that keeps nothing beyond plain topology; the base every exporter overrides.
189
+ * @category Plugin helpers
190
+ */
98
191
  export const NO_CAPABILITIES = Object.freeze({
99
192
  mixedDirection: false,
100
193
  multiEdges: false,
@@ -118,6 +211,7 @@ export const NO_CAPABILITIES = Object.freeze({
118
211
  * conservative NO_CAPABILITIES value, so an exporter states what it keeps and nothing is assumed.
119
212
  * @param supported - the fields the format supports
120
213
  * @returns a frozen table
214
+ * @category Writing a format
121
215
  */
122
216
  export function capabilities(supported) {
123
217
  return Object.freeze({ ...NO_CAPABILITIES, ...supported, dtypes: Object.freeze([...(supported.dtypes ?? [])]) });
@@ -128,7 +222,7 @@ const VIZ_ROLES = new Set(["color", "size", "shape", "thickness"]);
128
222
  const TEMPORAL_ROLES = new Set(["start", "end", "timestamp", "timestamps"]);
129
223
  const HIERARCHY_ROLES = new Set(["parent", "parents"]);
130
224
  /**
131
- * The generic pre-flight of design section 8.5: compare a snapshot with a format's capabilities
225
+ * The generic pre-flight check: compare a snapshot with a format's capabilities
132
226
  * and return one LossNote per gap, with the shared codes of LOSS. Format-specific notes are the
133
227
  * exporter's to append.
134
228
  * @param snapshot - the snapshot about to be exported
@@ -136,6 +230,7 @@ const HIERARCHY_ROLES = new Set(["parent", "parents"]);
136
230
  * @param options - the resolved common export options
137
231
  * @param extras - format facts the capabilities table does not carry
138
232
  * @returns the notes, empty when the export is exact
233
+ * @category Writing a format
139
234
  */
140
235
  export function checkCapabilities(snapshot, caps, options, extras = {}) {
141
236
  const notes = [];
@@ -146,22 +241,22 @@ export function checkCapabilities(snapshot, caps, options, extras = {}) {
146
241
  const mixed = countMixedEdges(snapshot);
147
242
  if (mixed > 0 && !caps.mixedDirection) {
148
243
  if (options.onMixedDirection === "error") {
149
- note(LOSS.MIXED_DIRECTION_ERROR, `${mixed} undirected edge(s) in a directed graph; the format has no mixed direction and onMixedDirection is "error"`, null, mixed);
244
+ note(LOSS.MIXED_DIRECTION_ERROR, `${mixed} undirected edge${plural(mixed)} in a directed graph, and the format holds one direction per file, so the save fails unless onMixedDirection is "directed" or "undirected"`, null, mixed);
150
245
  }
151
246
  else {
152
- note(LOSS.MIXED_DIRECTION, `${mixed} undirected edge(s) in a directed graph written as ${options.onMixedDirection}`, null, mixed);
247
+ note(LOSS.MIXED_DIRECTION, `${mixed} undirected edge${plural(mixed)} in a directed graph ${agree(mixed, "is", "are")} written as ${options.onMixedDirection} (onMixedDirection), and the format holds one direction per file`, null, mixed);
153
248
  }
154
249
  }
155
250
  if (snapshot.flags.multigraph && !caps.multiEdges) {
156
251
  const parallel = countParallelArcs(snapshot);
157
- note(LOSS.MULTI_EDGES, `${parallel} parallel edge(s); the format has no parallel edges`, null, parallel);
252
+ note(LOSS.MULTI_EDGES, `${parallel} parallel edge${plural(parallel)}; the format has no parallel edges`, null, parallel);
158
253
  }
159
254
  if (snapshot.selfLoopCount > 0 && !caps.selfLoops) {
160
- note(LOSS.SELF_LOOPS, `${snapshot.selfLoopCount} self-loop(s); the format has no self-loops`, null, snapshot.selfLoopCount);
255
+ note(LOSS.SELF_LOOPS, `${snapshot.selfLoopCount} self-loop${plural(snapshot.selfLoopCount)}; the format has no self-loops`, null, snapshot.selfLoopCount);
161
256
  }
162
257
  const edgeIds = snapshot.edges.byRole("id");
163
258
  if (caps.edgeIds === "required" && edgeIds === null && snapshot.edgeCount > 0) {
164
- note(LOSS.EDGE_IDS_GENERATED, "the format requires edge ids; canonical e0..e{E-1} are generated and not written back", null, snapshot.edgeCount);
259
+ note(LOSS.EDGE_IDS_GENERATED, "the format requires edge ids, and the graph has none; the edges are written with generated ids, which read back as a new edge id column", null, snapshot.edgeCount);
165
260
  }
166
261
  else if (caps.edgeIds === "none" && edgeIds !== null) {
167
262
  note(LOSS.EDGE_IDS_DROPPED, `edge id column "${edgeIds.meta.name}" cannot be written`, edgeIds.meta.name, snapshot.edgeCount);
@@ -170,16 +265,29 @@ export function checkCapabilities(snapshot, caps, options, extras = {}) {
170
265
  if (unrepresentable > 0) {
171
266
  if (caps.idCharset === "dense-1-based") {
172
267
  note(LOSS.ID_RENUMBERED, options.sanitizeIds === "mangle"
173
- ? `${unrepresentable} node id(s) are not their 1-based index; nodes are numbered 1..N, the originals kept in the exporter's originalId attribute (restored by restoreMangledIds) and as labels of the nodes without a label value`
174
- : `${unrepresentable} node id(s) are not their 1-based index; nodes are numbered 1..N and ids kept as labels of the nodes without a label value (a node with one loses its id)`, null, unrepresentable);
268
+ ? `${unrepresentable} node id${plural(unrepresentable)} ${agree(unrepresentable, "is", "are")} not their 1-based index; nodes are numbered 1..N, the original ids are written too, and an import with restoreMangledIds: true reads them back as the ids; they are also the labels of nodes without a label value`
269
+ : `${unrepresentable} node id${plural(unrepresentable)} ${agree(unrepresentable, "is", "are")} not their 1-based index; nodes are numbered 1..N and ids kept as labels of the nodes without a label value (a node with one loses its id)`, null, unrepresentable);
175
270
  }
176
271
  else if (options.sanitizeIds === "mangle") {
177
- note(LOSS.ID_MANGLED, `${unrepresentable} node id(s) outside the ${caps.idCharset} charset are rewritten; originals kept in the originalId attribute`, null, unrepresentable);
272
+ note(LOSS.ID_MANGLED, `${unrepresentable} node id${plural(unrepresentable)} ${charsetText(caps.idCharset, unrepresentable)}, so they are rewritten; the original ids are written too, and an import with restoreMangledIds: true reads them back`, null, unrepresentable);
178
273
  }
179
274
  else {
180
- note(LOSS.ID_CHARSET, `${unrepresentable} node id(s) outside the ${caps.idCharset} charset; export() will throw unless sanitizeIds is "mangle"`, null, unrepresentable);
275
+ note(LOSS.ID_CHARSET, `${unrepresentable} node id${plural(unrepresentable)} ${charsetText(caps.idCharset, unrepresentable)}, so the save fails unless sanitizeIds is "mangle"`, null, unrepresentable);
276
+ }
277
+ }
278
+ if (extras.idsReadBack !== undefined) {
279
+ let retyped = 0;
280
+ for (let i = 0; i < snapshot.nodeCount; i++) {
281
+ const id = snapshot.ids.idOf(i);
282
+ if (coerceIdText(String(id), extras.idsReadBack) !== id) {
283
+ retyped++;
284
+ }
285
+ }
286
+ if (retyped > 0) {
287
+ note(LOSS.ID_TEXT_TYPE, `${retyped} node id${plural(retyped)} ${agree(retyped, "reads", "read")} back with another type (a number as text, or text as a number)`, null, retyped);
181
288
  }
182
289
  }
290
+ checkWeights(snapshot, extras, note);
183
291
  checkColumns(snapshot.nodes, "node", caps, extras, note);
184
292
  checkColumns(snapshot.edges, "edge", caps, extras, note);
185
293
  const graphColumns = snapshot.graph.names();
@@ -188,21 +296,72 @@ export function checkCapabilities(snapshot, caps, options, extras = {}) {
188
296
  checkColumns(snapshot.graph, "graph", caps, extras, note);
189
297
  }
190
298
  else {
191
- note(LOSS.GRAPH_ATTRIBUTES, `${graphColumns.length} graph attribute(s) cannot be written`, null, graphColumns.length);
299
+ note(LOSS.GRAPH_ATTRIBUTES, `${graphColumns.length} graph attribute${plural(graphColumns.length)} cannot be written`, null, graphColumns.length);
192
300
  }
193
301
  }
194
302
  for (const [name, table] of snapshot.extensions) {
195
303
  if (name.startsWith("temporal:")) {
196
304
  if (caps.temporal !== "dynamic-values") {
197
- note(LOSS.DYNAMIC_VALUES, `dynamic values of "${name}" (${table.rowCount} row(s)) cannot be written`, name, table.rowCount);
305
+ note(LOSS.DYNAMIC_VALUES, `dynamic values of "${name}" (${table.rowCount} row${plural(table.rowCount)}) cannot be written`, name, table.rowCount);
198
306
  }
199
307
  }
200
308
  else {
201
- note(LOSS.EXTENSION_TABLE, `extension table "${name}" (${table.rowCount} row(s)) cannot be written`, name, table.rowCount);
309
+ note(LOSS.EXTENSION_TABLE, `extension table "${name}" (${table.rowCount} row${plural(table.rowCount)}) cannot be written`, name, table.rowCount);
202
310
  }
203
311
  }
204
312
  return notes;
205
313
  }
314
+ /**
315
+ * The ids a charset cannot hold, as a message phrase.
316
+ * @param charset - the format's id charset
317
+ * @param n - how many ids, for the verb
318
+ * @returns the phrase
319
+ */
320
+ function charsetText(charset, n) {
321
+ const are = agree(n, "is", "are");
322
+ switch (charset) {
323
+ case "nmtoken":
324
+ return `${are} not XML name tokens (letters, digits and . - _ : only; no spaces)`;
325
+ case "integer":
326
+ return `${are} not integers`;
327
+ default:
328
+ return `cannot be written as ${charset} ids`;
329
+ }
330
+ }
331
+ /**
332
+ * Whether a format writes the attributes of one kind (CheckExtras.nodeAttributes / edgeAttributes, else attributes).
333
+ * @param domain - "node", "edge" or "graph"
334
+ * @param extras - format extras
335
+ * @returns false when it writes none, undefined when the extras do not say
336
+ */
337
+ function writesAttributes(domain, extras) {
338
+ if (domain === "node") {
339
+ return extras.nodeAttributes ?? extras.attributes;
340
+ }
341
+ if (domain === "edge") {
342
+ return extras.edgeAttributes ?? extras.attributes;
343
+ }
344
+ return extras.attributes;
345
+ }
346
+ /**
347
+ * The note of a format (or an option) that writes no weights, for a weighted graph.
348
+ * @param snapshot - the snapshot
349
+ * @param extras - format extras
350
+ * @param note - the recorder
351
+ */
352
+ function checkWeights(snapshot, extras, note) {
353
+ if (extras.weights === false && explicitWeights(snapshot).weighted) {
354
+ note(LOSS.WEIGHTS_DROPPED, `the edge weights are not written; ${snapshot.edgeCount} edge${plural(snapshot.edgeCount)} ${agree(snapshot.edgeCount, "reads", "read")} back with weight 1`, null, snapshot.edgeCount);
355
+ }
356
+ }
357
+ /** How messages name what a column of a role holds. */
358
+ const ROLE_WORDS = {
359
+ label: "labels",
360
+ weight: "weights",
361
+ id: "ids",
362
+ position: "positions",
363
+ originalId: "original ids",
364
+ };
206
365
  /**
207
366
  * The per-column checks of checkCapabilities().
208
367
  * @param table - the table
@@ -222,15 +381,22 @@ function checkColumns(table, domain, caps, extras, note) {
222
381
  if (role !== null && extras.roleNames !== undefined) {
223
382
  const fixed = extras.roleNames[role];
224
383
  if (fixed !== undefined && fixed !== name) {
225
- note(LOSS.COLUMN_NAME_CHANGED, `${label} (${role}) is written into the format's ${role} slot and reads back as "${fixed}"`, name, column.length - column.nullCount);
384
+ note(LOSS.COLUMN_NAME_CHANGED, `${label} (the ${ROLE_WORDS[role] ?? role}) is written as the format's own ${role} and reads back as "${fixed}"`, name, column.length - column.nullCount);
226
385
  }
227
386
  }
228
387
  if (domain === "edge" && role === "id") {
229
388
  continue;
230
389
  }
390
+ const named = extras.writtenColumns?.[domain]?.includes(name) ?? false;
391
+ if (writesAttributes(domain, extras) === false &&
392
+ !named &&
393
+ !(role !== null && (extras.roles?.has(role) ?? false))) {
394
+ note(LOSS.COLUMN_DROPPED, `${label} is not written`, name, column.length - column.nullCount);
395
+ continue;
396
+ }
231
397
  if (role === "timeText") {
232
398
  if (extras.temporalText !== true) {
233
- note(LOSS.TEMPORAL_TEXT, `${label} (the lexical form of a temporal column, design section 5.1) cannot be written`, name, column.length - column.nullCount);
399
+ note(LOSS.TEMPORAL_TEXT, `${label} (the original text of a date or time column) cannot be written`, name, column.length - column.nullCount);
234
400
  }
235
401
  continue;
236
402
  }
@@ -335,6 +501,7 @@ function checkDtype(column, label, caps, note) {
335
501
  * expanded pair count once; an expanded self-loop has no mirror and counts once).
336
502
  * @param snapshot - the snapshot
337
503
  * @returns the count; 0 for an undirected snapshot or one without the directed role
504
+ * @category Plugin helpers
338
505
  */
339
506
  export function countMixedEdges(snapshot) {
340
507
  if (!snapshot.directed) {
@@ -362,6 +529,7 @@ export function countMixedEdges(snapshot) {
362
529
  * over the forward CSR; an undirected parallel edge is counted in both rows.
363
530
  * @param snapshot - the snapshot
364
531
  * @returns the count
532
+ * @category Plugin helpers
365
533
  */
366
534
  export function countParallelArcs(snapshot) {
367
535
  const { rowPtr, colIdx, nodeCount } = snapshot;
@@ -400,6 +568,7 @@ const NAME_CHAR_RANGES = [
400
568
  * Whether a code point is an XML NameChar.
401
569
  * @param cp - the code point
402
570
  * @returns true when it may appear in an NMTOKEN
571
+ * @category Plugin helpers
403
572
  */
404
573
  export function isNameChar(cp) {
405
574
  for (const [lo, hi] of NAME_CHAR_RANGES) {
@@ -416,6 +585,7 @@ export function isNameChar(cp) {
416
585
  * Whether a text is an XML NMTOKEN (one or more NameChars; GraphML node and edge ids).
417
586
  * @param text - the text
418
587
  * @returns true for a non-empty text of NameChars
588
+ * @category Plugin helpers
419
589
  */
420
590
  export function isNmtoken(text) {
421
591
  if (text.length === 0) {
@@ -434,6 +604,7 @@ export function isNmtoken(text) {
434
604
  * @param id - the id
435
605
  * @param charset - the charset
436
606
  * @returns true when the id needs no rewriting ("dense-1-based" is never true: see sanitizeIds)
607
+ * @category Plugin helpers
437
608
  */
438
609
  export function isRepresentableId(id, charset) {
439
610
  switch (charset) {
@@ -457,6 +628,7 @@ export function isRepresentableId(id, charset) {
457
628
  * @param snapshot - the snapshot
458
629
  * @param charset - the charset
459
630
  * @returns the count
631
+ * @category Plugin helpers
460
632
  */
461
633
  export function countUnrepresentableIds(snapshot, charset) {
462
634
  const { ids } = snapshot;
@@ -484,7 +656,7 @@ export function countUnrepresentableIds(snapshot, charset) {
484
656
  return count;
485
657
  }
486
658
  /**
487
- * Sanitise the node ids for a charset (design section 8.5). Under "error" any id the charset
659
+ * Sanitise the node ids for a charset. Under "error" any id the charset
488
660
  * cannot hold is E_INVALID_ID (details.reason "charset") and nothing is written; under "mangle"
489
661
  * such ids are rewritten deterministically and uniquely: NMTOKEN by replacing every other
490
662
  * character with `_` (an empty result becomes `_`) and suffixing `_2`, `_3`... on collision;
@@ -496,6 +668,7 @@ export function countUnrepresentableIds(snapshot, charset) {
496
668
  * @param charset - the charset
497
669
  * @param mode - the resolved sanitizeIds option
498
670
  * @returns the ids to write
671
+ * @category Writing a format
499
672
  */
500
673
  export function sanitizeIds(snapshot, charset, mode) {
501
674
  const { ids } = snapshot;
@@ -531,7 +704,7 @@ export function sanitizeIds(snapshot, charset, mode) {
531
704
  }
532
705
  if (mode === "error") {
533
706
  const first = ids.idOf(bad[0]);
534
- throw new GraphFormatError("E_INVALID_ID", `${bad.length} node id(s) cannot be written as ${charset} (first: ${JSON.stringify(first)} at index ${bad[0]}); pass sanitizeIds: "mangle" to rewrite them`, { reason: "charset", charset, count: bad.length, id: first, index: bad[0] });
707
+ throw new GraphFormatError("E_INVALID_ID", `${bad.length} node id${plural(bad.length)} ${charsetText(charset, bad.length)} (first: ${JSON.stringify(first)} at index ${bad[0]}); pass sanitizeIds: "mangle" to rewrite them`, { reason: "charset", charset, count: bad.length, id: first, index: bad[0] });
535
708
  }
536
709
  const written = new Map();
537
710
  if (charset === "nmtoken") {
@@ -582,6 +755,7 @@ export function sanitizeIds(snapshot, charset, mode) {
582
755
  * Rewrite a text as an NMTOKEN: every character that is not a NameChar becomes `_`.
583
756
  * @param text - the text
584
757
  * @returns a non-empty NMTOKEN
758
+ * @category Plugin helpers
585
759
  */
586
760
  export function mangleNmtoken(text) {
587
761
  let out = "";
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/common/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAGH,gBAAgB,EAEhB,aAAa,GAEhB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACH,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,GACxB,MAAM,YAAY,CAAC;AAGpB,wDAAwD;AACxD,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,0FAA0F;IAC1F,eAAe,EAAE,mBAAmB;IACpC,yGAAyG;IACzG,qBAAqB,EAAE,oBAAoB;IAC3C,+CAA+C;IAC/C,WAAW,EAAE,eAAe;IAC5B,2CAA2C;IAC3C,UAAU,EAAE,cAAc;IAC1B,kGAAkG;IAClG,kBAAkB,EAAE,sBAAsB;IAC1C,0EAA0E;IAC1E,gBAAgB,EAAE,oBAAoB;IACtC,6EAA6E;IAC7E,UAAU,EAAE,cAAc;IAC1B,kGAAkG;IAClG,UAAU,EAAE,cAAc;IAC1B,mGAAmG;IACnG,aAAa,EAAE,iBAAiB;IAChC,2DAA2D;IAC3D,KAAK,EAAE,qBAAqB;IAC5B,4DAA4D;IAC5D,UAAU,EAAE,wBAAwB;IACpC,+CAA+C;IAC/C,IAAI,EAAE,oBAAoB;IAC1B,uDAAuD;IACvD,IAAI,EAAE,oBAAoB;IAC1B,uDAAuD;IACvD,OAAO,EAAE,mBAAmB;IAC5B,yDAAyD;IACzD,OAAO,EAAE,mBAAmB;IAC5B,iEAAiE;IACjE,SAAS,EAAE,qBAAqB;IAChC,6EAA6E;IAC7E,QAAQ,EAAE,qBAAqB;IAC/B,gFAAgF;IAChF,aAAa,EAAE,0BAA0B;IACzC,6FAA6F;IAC7F,IAAI,EAAE,iBAAiB;IACvB,gFAAgF;IAChF,OAAO,EAAE,oBAAoB;IAC7B,2EAA2E;IAC3E,eAAe,EAAE,oBAAoB;IACrC,yGAAyG;IACzG,oBAAoB,EAAE,yBAAyB;IAC/C,6FAA6F;IAC7F,YAAY,EAAE,iBAAiB;IAC/B,yEAAyE;IACzE,iBAAiB,EAAE,sBAAsB;IACzC,oFAAoF;IACpF,gBAAgB,EAAE,qBAAqB;IACvC,yEAAyE;IACzE,YAAY,EAAE,iBAAiB;IAC/B,+FAA+F;IAC/F,mBAAmB,EAAE,wBAAwB;IAC7C,iGAAiG;IACjG,YAAY,EAAE,yBAAyB;IACvC,oGAAoG;IACpG,aAAa,EAAE,kBAAkB;IACjC,mGAAmG;IACnG,YAAY,EAAE,iBAAiB;IAC/B,8EAA8E;IAC9E,aAAa,EAAE,kBAAkB;IACjC,wFAAwF;IACxF,gBAAgB,EAAE,qBAAqB;IACvC,qEAAqE;IACrE,cAAc,EAAE,mBAAmB;IACnC,kDAAkD;IAClD,MAAM,EAAE,kBAAkB;IAC1B,4EAA4E;IAC5E,cAAc,EAAE,0BAA0B;IAC1C,uFAAuF;IACvF,aAAa,EAAE,iBAAiB;IAChC,uDAAuD;IACvD,gBAAgB,EAAE,4BAA4B;IAC9C,uDAAuD;IACvD,SAAS,EAAE,qBAAqB;IAChC,+CAA+C;IAC/C,GAAG,EAAE,eAAe;IACpB,kDAAkD;IAClD,eAAe,EAAE,2BAA2B;CAC/C,CAAC,CAAC;AAEH,gHAAgH;AAChH,MAAM,CAAC,MAAM,eAAe,GAAuB,MAAM,CAAC,MAAM,CAAC;IAC7D,cAAc,EAAE,KAAK;IACrB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,UAAU,EAAE,KAAK;IACjB,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,MAAM;IAChB,eAAe,EAAE,KAAK;IACtB,SAAS,EAAE,KAAK;IAChB,GAAG,EAAE,KAAK;CACb,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,SAAsC;IAC/D,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,eAAe,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACrH,CAAC;AAqCD,0FAA0F;AAC1F,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AAC9G,MAAM,SAAS,GAAwB,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;AACxF,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AACjG,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAE5E;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC7B,QAAuB,EACvB,IAAwB,EACxB,OAA8B,EAC9B,SAAsB,EAAE;IAExB,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,SAAwB,IAAI,EAAE,QAAuB,IAAI,EAAQ,EAAE;QAC5G,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC;IAEF,+FAA+F;IAC/F,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,gBAAgB,KAAK,OAAO,EAAE,CAAC;YACvC,IAAI,CACA,IAAI,CAAC,qBAAqB,EAC1B,GAAG,KAAK,4GAA4G,EACpH,IAAI,EACJ,KAAK,CACR,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,CACA,IAAI,CAAC,eAAe,EACpB,GAAG,KAAK,sDAAsD,OAAO,CAAC,gBAAgB,EAAE,EACxF,IAAI,EACJ,KAAK,CACR,CAAC;QACN,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,qDAAqD,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7G,CAAC;IACD,IAAI,QAAQ,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAChD,IAAI,CACA,IAAI,CAAC,UAAU,EACf,GAAG,QAAQ,CAAC,aAAa,6CAA6C,EACtE,IAAI,EACJ,QAAQ,CAAC,aAAa,CACzB,CAAC;IACN,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QAC5E,IAAI,CACA,IAAI,CAAC,kBAAkB,EACvB,uFAAuF,EACvF,IAAI,EACJ,QAAQ,CAAC,SAAS,CACrB,CAAC;IACN,CAAC;SAAM,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrD,IAAI,CACA,IAAI,CAAC,gBAAgB,EACrB,mBAAmB,OAAO,CAAC,IAAI,CAAC,IAAI,qBAAqB,EACzD,OAAO,CAAC,IAAI,CAAC,IAAI,EACjB,QAAQ,CAAC,SAAS,CACrB,CAAC;IACN,CAAC;IAED,MAAM,eAAe,GAAG,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1E,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;YACrC,IAAI,CACA,IAAI,CAAC,aAAa,EAClB,OAAO,CAAC,WAAW,KAAK,QAAQ;gBAC5B,CAAC,CAAC,GAAG,eAAe,8MAA8M;gBAClO,CAAC,CAAC,GAAG,eAAe,2JAA2J,EACnL,IAAI,EACJ,eAAe,CAClB,CAAC;QACN,CAAC;aAAM,IAAI,OAAO,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC1C,IAAI,CACA,IAAI,CAAC,UAAU,EACf,GAAG,eAAe,2BAA2B,IAAI,CAAC,SAAS,oEAAoE,EAC/H,IAAI,EACJ,eAAe,CAClB,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,CACA,IAAI,CAAC,UAAU,EACf,GAAG,eAAe,2BAA2B,IAAI,CAAC,SAAS,8DAA8D,EACzH,IAAI,EACJ,eAAe,CAClB,CAAC;QACN,CAAC;IACL,CAAC;IAED,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACzD,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC5C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACJ,IAAI,CACA,IAAI,CAAC,gBAAgB,EACrB,GAAG,YAAY,CAAC,MAAM,uCAAuC,EAC7D,IAAI,EACJ,YAAY,CAAC,MAAM,CACtB,CAAC;QACN,CAAC;IACL,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;gBACrC,IAAI,CACA,IAAI,CAAC,cAAc,EACnB,sBAAsB,IAAI,MAAM,KAAK,CAAC,QAAQ,4BAA4B,EAC1E,IAAI,EACJ,KAAK,CAAC,QAAQ,CACjB,CAAC;YACN,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CACA,IAAI,CAAC,eAAe,EACpB,oBAAoB,IAAI,MAAM,KAAK,CAAC,QAAQ,4BAA4B,EACxE,IAAI,EACJ,KAAK,CAAC,QAAQ,CACjB,CAAC;QACN,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAKD;;;;;;;GAOG;AACH,SAAS,YAAY,CACjB,KAAuB,EACvB,MAAc,EACd,IAAwB,EACxB,MAAmB,EACnB,IAAY;IAEZ,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QACxB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC5B,IAAI,IAAI,KAAK,IAAI,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,SAAS;QACb,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,MAAM,YAAY,IAAI,GAAG,CAAC;QAC3C,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACxC,IAAI,CACA,IAAI,CAAC,mBAAmB,EACxB,GAAG,KAAK,KAAK,IAAI,kCAAkC,IAAI,4BAA4B,KAAK,GAAG,EAC3F,IAAI,EACJ,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CACnC,CAAC;YACN,CAAC;QACL,CAAC;QACD,IAAI,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACrC,SAAS;QACb,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACtB,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC/B,IAAI,CACA,IAAI,CAAC,aAAa,EAClB,GAAG,KAAK,gFAAgF,EACxF,IAAI,EACJ,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CACnC,CAAC;YACN,CAAC;YACD,SAAS;QACb,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,gCAAgC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3G,CAAC;iBAAM,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,aAAa,EAAE,CAAC;gBACnF,IAAI,CACA,IAAI,CAAC,KAAK,EACV,GAAG,KAAK,mBAAmB,IAAI,CAAC,KAAK,wCAAwC,MAAM,CAAC,aAAa,EAAE,EACnG,IAAI,EACJ,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CACnC,CAAC;YACN,CAAC;YACD,SAAS;QACb,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACZ,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,KAAK,IAAI,qBAAqB,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YACnG,CAAC;YACD,SAAS;QACb,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,KAAK,IAAI,qBAAqB,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YACzG,CAAC;YACD,SAAS;QACb,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,KAAK,IAAI,qBAAqB,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YACxG,CAAC;YACD,SAAS;QACb,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;gBACnE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,6BAA6B,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YACrG,CAAC;YACD,SAAS;QACb,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC3C,qFAAqF;YACrF,gFAAgF;YAChF,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;gBAChC,IAAI,CACA,IAAI,CAAC,aAAa,EAClB,GAAG,KAAK,qCAAqC,EAC7C,IAAI,EACJ,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CACnC,CAAC;YACN,CAAC;YACD,SAAS;QACb,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvD,IAAI,CACA,IAAI,CAAC,IAAI,EACT,GAAG,KAAK,KAAK,IAAI,wDAAwD,IAAI,4BAA4B,EACzG,IAAI,EACJ,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CACnC,CAAC;QACN,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,KAAK,mDAAmD,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACvG,CAAC;QACD,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,iDAAiD,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,mDAAmD,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChG,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,MAAc,EAAE,KAAa,EAAE,IAAwB,EAAE,IAAY;IACrF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;IAC7C,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,KAAK,MAAM;YACP,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACd,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,qCAAqC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAC9E,CAAC;iBAAM,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1E,IAAI,CACA,IAAI,CAAC,KAAK,EACV,GAAG,KAAK,UAAU,IAAI,CAAC,SAAS,2CAA2C,EAC3E,IAAI,EACJ,GAAG,CACN,CAAC;YACN,CAAC;iBAAM,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;gBACnC,8EAA8E;gBAC9E,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,mDAAmD,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAC7F,CAAC;YACD,MAAM;QACV,KAAK,MAAM;YACP,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,uDAAuD,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAChG,CAAC;YACD,MAAM;QACV;YACI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,IAAI,CAAC,KAAK,qCAAqC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAChG,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC1C,IAAI,CACA,IAAI,CAAC,UAAU,EACf,GAAG,KAAK,QAAQ,IAAI,CAAC,UAAU,wCAAwC,EACvE,IAAI,EACJ,GAAG,CACN,CAAC;YACN,CAAC;YACD,MAAM;IACd,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,QAAuB;IACnD,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC;IACb,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QACjD,OAAO,CAAC,CAAC;IACb,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;YACnD,cAAc,EAAE,CAAC;YACjB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;gBAC3F,MAAM,EAAE,CAAC;YACb,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,MAAM,GAAG,CAAC,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAuB;IACrD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;IAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC9B,KAAK,EAAE,CAAC;YACZ,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAC5D,CAAC;AAyCD,kFAAkF;AAClF,MAAM,gBAAgB,GAA2C;IAC7D,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,KAAK,CAAC;IACb,CAAC,KAAK,EAAE,MAAM,CAAC;IACf,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,OAAO,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,EAAU;IACjC,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACtC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IAClC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,EAAE,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAU,EAAE,OAAkB;IAC5D,QAAQ,OAAO,EAAE,CAAC;QACd,KAAK,KAAK;YACN,OAAO,IAAI,CAAC;QAChB,KAAK,SAAS;YACV,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,KAAK,SAAS;YACV,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC9D,KAAK,eAAe;YAChB,OAAO,KAAK,CAAC;QACjB,OAAO,CAAC,CAAC,CAAC;YACN,MAAM,IAAI,GAAW,OAAO,CAAC;YAC7B,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,sBAAsB,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACjG,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAuB,EAAE,OAAkB;IAC/E,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;IACzB,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;IACD,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAC9B,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,CAAC;QACb,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,CAAC;YACd,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;YAC3C,KAAK,EAAE,CAAC;QACZ,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CAAC,QAAuB,EAAE,OAAkB,EAAE,IAAwB;IAC7F,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;IACzB,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;IACnB,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3D,OAAO;YACH,OAAO;YACP,OAAO;YACP,IAAI,EAAE,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,GAAG,CAAC;YAClC,SAAS,EAAE,CAAC,CAAS,EAAW,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;YACxD,UAAU,EAAE,CAAC,CAAS,EAAU,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;SACjD,CAAC;IACN,CAAC;IACD,MAAM,SAAS,GAAiB;QAC5B,OAAO;QACP,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,CAAC,CAAS,EAAU,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,SAAS,EAAE,GAAY,EAAE,CAAC,KAAK;QAC/B,UAAU,EAAE,CAAC,CAAS,EAAU,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;KACjD,CAAC;IACF,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;IACL,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,IAAI,gBAAgB,CACtB,cAAc,EACd,GAAG,GAAG,CAAC,MAAM,oCAAoC,OAAO,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,+CAA+C,EAC3J,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAC9E,CAAC;IACN,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,SAAS,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;YAC/B,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;QACL,CAAC;QACD,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,IAAI,EAAE,CAAC;YACX,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACrB,IAAI,EAAE,CAAC;QACX,CAAC;IACL,CAAC;IACD,OAAO;QACH,OAAO;QACP,OAAO,EAAE,GAAG,CAAC,MAAM;QACnB,IAAI,EAAE,CAAC,CAAS,EAAU,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,SAAS,EAAE,CAAC,CAAS,EAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,UAAU,EAAE,CAAC,CAAS,EAAU,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;KACjD,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACtC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC7B,GAAG,IAAI,EAAE,KAAK,SAAS,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACzD,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/common/export.ts"],"names":[],"mappings":"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"}
@@ -5,23 +5,41 @@
5
5
  * with a decimal point so the dtype survives (design section 8.5); non-finite values as the
6
6
  * spelling the target syntax accepts.
7
7
  */
8
+ import type { NodeId } from "@graphty/graph-format";
8
9
  /**
9
10
  * The shortest decimal text that reads back to the same f32 value through Math.fround.
10
11
  * @param value - an f32 value (a JS number holding one)
11
12
  * @returns the text; "Infinity" / "-Infinity" / "NaN" for the non-finite values, "-0" for negative zero
13
+ * @category Plugin helpers
12
14
  */
13
15
  export declare function formatF32(value: number): string;
16
+ /**
17
+ * Whether a number read from a file keeps its decimal value in an f32 column: the shortest decimal
18
+ * of its f32 rounding reads back as the same number (0.2 does; 123456789.123 and 0.123456789 do not).
19
+ * @param value - a finite number
20
+ * @returns true when nothing a reader would see is lost
21
+ * @category Plugin helpers
22
+ */
23
+ export declare function survivesF32(value: number): boolean;
14
24
  /**
15
25
  * The shortest text of an f64 value: `String(x)`, which is already the shortest round-tripping
16
26
  * decimal in JS, except for negative zero, which `String()` writes as "0".
17
27
  * @param value - the value
18
28
  * @returns the text; "Infinity" / "-Infinity" / "NaN" for the non-finite values, "-0" for negative zero
29
+ * @category Plugin helpers
19
30
  */
20
31
  export declare function formatF64(value: number): string;
32
+ /**
33
+ * The text of a node id for the text formats that write ids bare (DOT, Pajek, XGMML): the string
34
+ * itself, or the shortest decimal of a number (formatF64).
35
+ * @param id - the id
36
+ * @returns the text
37
+ */
38
+ export declare function idText(id: NodeId): string;
21
39
  /**
22
40
  * A decimal text with a decimal point or an exponent guaranteed for a finite value (`2.0`,
23
41
  * `1e+21`, `1.5e-7`), so an
24
- * untyped re-import keeps the column f64 rather than i32 (design section 8.5); negative zero is
42
+ * untyped re-import keeps the column f64 rather than i32; negative zero is
25
43
  * written `-0.0` so it reads back as -0; non-finite values are the JS spellings (`Infinity`,
26
44
  * `-Infinity`, `NaN`), which the CSV / DOT / Pajek importers read back as text. The one
27
45
  * implementation of the "decimal point guaranteed" rule for every text format; GML has its own
@@ -29,6 +47,7 @@ export declare function formatF64(value: number): string;
29
47
  * @param value - the value
30
48
  * @param dtype - the column dtype the value comes from; f32 values use the shortest fround-round-trip text
31
49
  * @returns the text
50
+ * @category Plugin helpers
32
51
  */
33
52
  export declare function formatDecimal(value: number, dtype?: "f32" | "f64" | "i32" | "u32" | "u8"): string;
34
53
  /**
@@ -39,6 +58,7 @@ export declare function formatDecimal(value: number, dtype?: "f32" | "f64" | "i3
39
58
  * @param value - the value
40
59
  * @param dtype - the column dtype the value comes from; f32 values use the shortest fround-round-trip text
41
60
  * @returns the text
61
+ * @category Plugin helpers
42
62
  */
43
63
  export declare function formatGmlReal(value: number, dtype?: "f32" | "f64" | "i32" | "u32" | "u8"): string;
44
64
  /**
@@ -46,6 +66,7 @@ export declare function formatGmlReal(value: number, dtype?: "f32" | "f64" | "i3
46
66
  * integer), avoiding the exponent form `String()` uses above 1e21.
47
67
  * @param value - an integral value
48
68
  * @returns the digits
69
+ * @category Plugin helpers
49
70
  */
50
71
  export declare function formatInteger(value: number): string;
51
72
  /**
@@ -54,6 +75,7 @@ export declare function formatInteger(value: number): string;
54
75
  * @param value - the value
55
76
  * @param dtype - the column dtype the value came from
56
77
  * @returns the text
78
+ * @category Plugin helpers
57
79
  */
58
80
  export declare function formatNumber(value: number, dtype: "f32" | "f64" | "i32" | "u32" | "u8"): string;
59
81
  //# sourceMappingURL=format.d.ts.map