@graphty/graph-io 0.3.47 → 0.3.49

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 (770) hide show
  1. package/dist/chunks/{approximations-wWjCRzKj.js → approximations-Bzn3L-je.js} +2 -2
  2. package/dist/chunks/{approximations-wWjCRzKj.js.map → approximations-Bzn3L-je.js.map} +1 -1
  3. package/dist/chunks/bends-BGXjv_U4.js +129 -0
  4. package/dist/chunks/bends-BGXjv_U4.js.map +1 -0
  5. package/dist/chunks/{block-DiGq58c3.js → block-iptrlMBb.js} +947 -134
  6. package/dist/chunks/block-iptrlMBb.js.map +1 -0
  7. package/dist/chunks/choose-CczZJaX_.js +717 -0
  8. package/dist/chunks/choose-CczZJaX_.js.map +1 -0
  9. package/dist/chunks/codes-BE2xir2k.js +157 -0
  10. package/dist/chunks/codes-BE2xir2k.js.map +1 -0
  11. package/dist/chunks/{constants-BKwqelYD.js → constants-CKkYLPtt.js} +2 -2
  12. package/dist/chunks/{constants-BKwqelYD.js.map → constants-CKkYLPtt.js.map} +1 -1
  13. package/dist/chunks/context-C3p0RQxR.js +664 -0
  14. package/dist/chunks/context-C3p0RQxR.js.map +1 -0
  15. package/dist/chunks/{convert-BcQ8_jMo.js → convert-Ct2zelbQ.js} +7 -2
  16. package/dist/chunks/convert-Ct2zelbQ.js.map +1 -0
  17. package/dist/chunks/credentials-DXHx7nwR.js +349 -0
  18. package/dist/chunks/credentials-DXHx7nwR.js.map +1 -0
  19. package/dist/chunks/cx-export-Bt6NoqTQ.js +259 -0
  20. package/dist/chunks/cx-export-Bt6NoqTQ.js.map +1 -0
  21. package/dist/chunks/descriptor-B28U25x4.js +60 -0
  22. package/dist/chunks/descriptor-B28U25x4.js.map +1 -0
  23. package/dist/chunks/descriptor-C-YDhtsn.js +48 -0
  24. package/dist/chunks/descriptor-C-YDhtsn.js.map +1 -0
  25. package/dist/chunks/descriptor-DLA5kINx.js +142 -0
  26. package/dist/chunks/descriptor-DLA5kINx.js.map +1 -0
  27. package/dist/chunks/{emit-CwU8cUmG.js → emit-BwHQkZle.js} +1690 -103
  28. package/dist/chunks/emit-BwHQkZle.js.map +1 -0
  29. package/dist/chunks/{escape-CgzxiYPg.js → escape-CuCIzNMB.js} +12 -12
  30. package/dist/chunks/{escape-CgzxiYPg.js.map → escape-CuCIzNMB.js.map} +1 -1
  31. package/dist/chunks/{export-BvqAXCKh.js → export-Cha4dRFz.js} +48 -1780
  32. package/dist/chunks/export-Cha4dRFz.js.map +1 -0
  33. package/dist/chunks/{exporter--Mk9gXCJ.js → exporter-BP6otMO6.js} +6 -4
  34. package/dist/chunks/{exporter--Mk9gXCJ.js.map → exporter-BP6otMO6.js.map} +1 -1
  35. package/dist/chunks/{exporter-CrDWIyiq.js → exporter-D2CETOMK.js} +1222 -154
  36. package/dist/chunks/exporter-D2CETOMK.js.map +1 -0
  37. package/dist/chunks/{exporter-DndFlGSa.js → exporter-D9yMtocA.js} +7 -6
  38. package/dist/chunks/{exporter-DndFlGSa.js.map → exporter-D9yMtocA.js.map} +1 -1
  39. package/dist/chunks/exporter-_jrBTnos.js +1009 -0
  40. package/dist/chunks/exporter-_jrBTnos.js.map +1 -0
  41. package/dist/chunks/{exporter-CJgfhF-l.js → exporter-nDfxIK5D.js} +9 -7
  42. package/dist/chunks/{exporter-CJgfhF-l.js.map → exporter-nDfxIK5D.js.map} +1 -1
  43. package/dist/chunks/format-BXiAb-1h.js +408 -0
  44. package/dist/chunks/format-BXiAb-1h.js.map +1 -0
  45. package/dist/chunks/{generic-Dq1ntt9q.js → generic-ymWCETAJ.js} +387 -31
  46. package/dist/chunks/generic-ymWCETAJ.js.map +1 -0
  47. package/dist/chunks/{importer-CMmeMWlC.js → importer-B92x1xY5.js} +15 -263
  48. package/dist/chunks/importer-B92x1xY5.js.map +1 -0
  49. package/dist/chunks/{importer-DiZRmOQG.js → importer-CT9mJ1nn.js} +328 -90
  50. package/dist/chunks/importer-CT9mJ1nn.js.map +1 -0
  51. package/dist/chunks/{importer-COTK9Tsl.js → importer-DaLTjbds.js} +116 -1099
  52. package/dist/chunks/importer-DaLTjbds.js.map +1 -0
  53. package/dist/chunks/{importer-iFYPEKaJ.js → importer-GREKMdIf.js} +28 -16
  54. package/dist/chunks/importer-GREKMdIf.js.map +1 -0
  55. package/dist/chunks/{importer-BSvfrX_h.js → importer-PqaaKKnY.js} +23 -1016
  56. package/dist/chunks/importer-PqaaKKnY.js.map +1 -0
  57. package/dist/chunks/{importer-yh_aBCU6.js → importer-Vn5QvmmJ.js} +66 -12
  58. package/dist/chunks/importer-Vn5QvmmJ.js.map +1 -0
  59. package/dist/chunks/{importer-e6LGpqHB.js → importer-vRq4h3j5.js} +1470 -354
  60. package/dist/chunks/importer-vRq4h3j5.js.map +1 -0
  61. package/dist/chunks/input-CAxt_aV-.js +1397 -0
  62. package/dist/chunks/input-CAxt_aV-.js.map +1 -0
  63. package/dist/chunks/{json-elements-DJZRZ6jd.js → json-elements-Cq76WjnZ.js} +4 -4
  64. package/dist/chunks/{json-elements-DJZRZ6jd.js.map → json-elements-Cq76WjnZ.js.map} +1 -1
  65. package/dist/chunks/{lexicon-CT69Kd87.js → lexicon-Clf4QIyl.js} +299 -77
  66. package/dist/chunks/lexicon-Clf4QIyl.js.map +1 -0
  67. package/dist/chunks/{ontology-export-G4MqRdux.js → ontology-export-OMo91mb0.js} +4 -3
  68. package/dist/chunks/{ontology-export-G4MqRdux.js.map → ontology-export-OMo91mb0.js.map} +1 -1
  69. package/dist/chunks/{records-CiaWZrFH.js → records-NJiYvekn.js} +2 -2
  70. package/dist/chunks/{records-CiaWZrFH.js.map → records-NJiYvekn.js.map} +1 -1
  71. package/dist/chunks/{format-BpQBx8MZ.js → report-CwMfYa9J.js} +70 -127
  72. package/dist/chunks/report-CwMfYa9J.js.map +1 -0
  73. package/dist/chunks/round-trip-Zm3_ivgq.js +79 -0
  74. package/dist/chunks/round-trip-Zm3_ivgq.js.map +1 -0
  75. package/dist/chunks/sigv4-EokFic1V.js +247 -0
  76. package/dist/chunks/sigv4-EokFic1V.js.map +1 -0
  77. package/dist/chunks/{styles-BQnsga7p.js → styles-CCs214_3.js} +1300 -168
  78. package/dist/chunks/styles-CCs214_3.js.map +1 -0
  79. package/dist/chunks/styles-Cm62yyQX.js +2812 -0
  80. package/dist/chunks/styles-Cm62yyQX.js.map +1 -0
  81. package/dist/chunks/styles-DPQQIig4.js +1928 -0
  82. package/dist/chunks/styles-DPQQIig4.js.map +1 -0
  83. package/dist/chunks/styles-yed-UMFdNqze.js +1213 -0
  84. package/dist/chunks/styles-yed-UMFdNqze.js.map +1 -0
  85. package/dist/chunks/{text-CzJNFOS9.js → text-ystE2bYi.js} +2 -2
  86. package/dist/chunks/{text-CzJNFOS9.js.map → text-ystE2bYi.js.map} +1 -1
  87. package/dist/csv.js +7 -5
  88. package/dist/csv.js.map +1 -1
  89. package/dist/cx.js +5 -4
  90. package/dist/cx.js.map +1 -1
  91. package/dist/cx2.js +2 -2
  92. package/dist/cys.js +1 -1
  93. package/dist/dot.js +5 -4
  94. package/dist/dot.js.map +1 -1
  95. package/dist/gexf.js +42 -10
  96. package/dist/gexf.js.map +1 -1
  97. package/dist/gml.js +850 -193
  98. package/dist/gml.js.map +1 -1
  99. package/dist/graph-io.js +1189 -220
  100. package/dist/graph-io.js.map +1 -1
  101. package/dist/graphml.js +3 -3
  102. package/dist/json.js +3 -2
  103. package/dist/neo4j.js +6 -4
  104. package/dist/neo4j.js.map +1 -1
  105. package/dist/obo.js +1 -1
  106. package/dist/pajek.js +1 -1
  107. package/dist/positions.js +45 -3
  108. package/dist/positions.js.map +1 -1
  109. package/dist/sources-cypher.d.ts +1 -0
  110. package/dist/sources-cypher.js +1351 -0
  111. package/dist/sources-cypher.js.map +1 -0
  112. package/dist/sources-ndex.d.ts +1 -0
  113. package/dist/sources-ndex.js +278 -0
  114. package/dist/sources-ndex.js.map +1 -0
  115. package/dist/sources-rest.d.ts +1 -0
  116. package/dist/sources-rest.js +1377 -0
  117. package/dist/sources-rest.js.map +1 -0
  118. package/dist/sources-sparql.d.ts +1 -0
  119. package/dist/sources-sparql.js +405 -0
  120. package/dist/sources-sparql.js.map +1 -0
  121. package/dist/src/common/report.d.ts +6 -3
  122. package/dist/src/common/report.d.ts.map +1 -1
  123. package/dist/src/common/report.js +15 -9
  124. package/dist/src/common/report.js.map +1 -1
  125. package/dist/src/formats/cx/importer.d.ts.map +1 -1
  126. package/dist/src/formats/cx/importer.js +5 -1
  127. package/dist/src/formats/cx/importer.js.map +1 -1
  128. package/dist/src/formats/cx/styles.d.ts +24 -1
  129. package/dist/src/formats/cx/styles.d.ts.map +1 -1
  130. package/dist/src/formats/cx/styles.js +118 -11
  131. package/dist/src/formats/cx/styles.js.map +1 -1
  132. package/dist/src/formats/cx2/importer.d.ts.map +1 -1
  133. package/dist/src/formats/cx2/importer.js +1 -0
  134. package/dist/src/formats/cx2/importer.js.map +1 -1
  135. package/dist/src/formats/cx2/styles.d.ts.map +1 -1
  136. package/dist/src/formats/cx2/styles.js +3 -1
  137. package/dist/src/formats/cx2/styles.js.map +1 -1
  138. package/dist/src/formats/cys/importer.d.ts.map +1 -1
  139. package/dist/src/formats/cys/importer.js +1 -0
  140. package/dist/src/formats/cys/importer.js.map +1 -1
  141. package/dist/src/formats/cys/styles.d.ts +2 -0
  142. package/dist/src/formats/cys/styles.d.ts.map +1 -1
  143. package/dist/src/formats/cys/styles.js +15 -7
  144. package/dist/src/formats/cys/styles.js.map +1 -1
  145. package/dist/src/formats/dot/drawing.d.ts +98 -0
  146. package/dist/src/formats/dot/drawing.d.ts.map +1 -0
  147. package/dist/src/formats/dot/drawing.js +734 -0
  148. package/dist/src/formats/dot/drawing.js.map +1 -0
  149. package/dist/src/formats/dot/importer.d.ts.map +1 -1
  150. package/dist/src/formats/dot/importer.js +108 -31
  151. package/dist/src/formats/dot/importer.js.map +1 -1
  152. package/dist/src/formats/dot/label-places.d.ts +34 -0
  153. package/dist/src/formats/dot/label-places.d.ts.map +1 -0
  154. package/dist/src/formats/dot/label-places.js +179 -0
  155. package/dist/src/formats/dot/label-places.js.map +1 -0
  156. package/dist/src/formats/dot/record.d.ts +50 -0
  157. package/dist/src/formats/dot/record.d.ts.map +1 -0
  158. package/dist/src/formats/dot/record.js +275 -0
  159. package/dist/src/formats/dot/record.js.map +1 -0
  160. package/dist/src/formats/dot/styles.d.ts +62 -2
  161. package/dist/src/formats/dot/styles.d.ts.map +1 -1
  162. package/dist/src/formats/dot/styles.js +1457 -120
  163. package/dist/src/formats/dot/styles.js.map +1 -1
  164. package/dist/src/formats/gexf/dialog-metrics.d.ts +15 -0
  165. package/dist/src/formats/gexf/dialog-metrics.d.ts.map +1 -0
  166. package/dist/src/formats/gexf/dialog-metrics.js +59 -0
  167. package/dist/src/formats/gexf/dialog-metrics.js.map +1 -0
  168. package/dist/src/formats/gexf/importer.d.ts +7 -0
  169. package/dist/src/formats/gexf/importer.d.ts.map +1 -1
  170. package/dist/src/formats/gexf/importer.js +41 -5
  171. package/dist/src/formats/gexf/importer.js.map +1 -1
  172. package/dist/src/formats/gexf/preview.d.ts +77 -0
  173. package/dist/src/formats/gexf/preview.d.ts.map +1 -0
  174. package/dist/src/formats/gexf/preview.js +191 -0
  175. package/dist/src/formats/gexf/preview.js.map +1 -0
  176. package/dist/src/formats/gexf/schema.d.ts.map +1 -1
  177. package/dist/src/formats/gexf/schema.js +2 -1
  178. package/dist/src/formats/gexf/schema.js.map +1 -1
  179. package/dist/src/formats/gexf/styles.d.ts +60 -16
  180. package/dist/src/formats/gexf/styles.d.ts.map +1 -1
  181. package/dist/src/formats/gexf/styles.js +883 -131
  182. package/dist/src/formats/gexf/styles.js.map +1 -1
  183. package/dist/src/formats/gml/importer.d.ts +5 -2
  184. package/dist/src/formats/gml/importer.d.ts.map +1 -1
  185. package/dist/src/formats/gml/importer.js +258 -71
  186. package/dist/src/formats/gml/importer.js.map +1 -1
  187. package/dist/src/formats/gml/index.d.ts +1 -1
  188. package/dist/src/formats/gml/index.d.ts.map +1 -1
  189. package/dist/src/formats/gml/index.js +1 -1
  190. package/dist/src/formats/gml/index.js.map +1 -1
  191. package/dist/src/formats/gml/positions.d.ts +7 -0
  192. package/dist/src/formats/gml/positions.d.ts.map +1 -1
  193. package/dist/src/formats/gml/positions.js +29 -7
  194. package/dist/src/formats/gml/positions.js.map +1 -1
  195. package/dist/src/formats/gml/styles.d.ts.map +1 -1
  196. package/dist/src/formats/gml/styles.js +756 -103
  197. package/dist/src/formats/gml/styles.js.map +1 -1
  198. package/dist/src/formats/graphml/styles-plain.d.ts.map +1 -1
  199. package/dist/src/formats/graphml/styles-plain.js +8 -12
  200. package/dist/src/formats/graphml/styles-plain.js.map +1 -1
  201. package/dist/src/formats/graphml/styles-yed.d.ts +21 -15
  202. package/dist/src/formats/graphml/styles-yed.d.ts.map +1 -1
  203. package/dist/src/formats/graphml/styles-yed.js +749 -148
  204. package/dist/src/formats/graphml/styles-yed.js.map +1 -1
  205. package/dist/src/formats/graphml/styles-yfiles3.d.ts +1 -1
  206. package/dist/src/formats/graphml/styles-yfiles3.d.ts.map +1 -1
  207. package/dist/src/formats/graphml/styles-yfiles3.js +429 -64
  208. package/dist/src/formats/graphml/styles-yfiles3.js.map +1 -1
  209. package/dist/src/formats/graphml/yfiles.d.ts +3 -3
  210. package/dist/src/formats/graphml/yfiles.d.ts.map +1 -1
  211. package/dist/src/formats/graphml/yfiles.js +16 -6
  212. package/dist/src/formats/graphml/yfiles.js.map +1 -1
  213. package/dist/src/formats/json/dialect.d.ts +3 -2
  214. package/dist/src/formats/json/dialect.d.ts.map +1 -1
  215. package/dist/src/formats/json/dialect.js +39 -5
  216. package/dist/src/formats/json/dialect.js.map +1 -1
  217. package/dist/src/formats/json/importer.d.ts +13 -2
  218. package/dist/src/formats/json/importer.d.ts.map +1 -1
  219. package/dist/src/formats/json/importer.js +42 -6
  220. package/dist/src/formats/json/importer.js.map +1 -1
  221. package/dist/src/formats/json/index.d.ts +1 -1
  222. package/dist/src/formats/json/index.d.ts.map +1 -1
  223. package/dist/src/formats/json/index.js +1 -1
  224. package/dist/src/formats/json/index.js.map +1 -1
  225. package/dist/src/formats/json/positions.d.ts +5 -2
  226. package/dist/src/formats/json/positions.d.ts.map +1 -1
  227. package/dist/src/formats/json/positions.js +20 -4
  228. package/dist/src/formats/json/positions.js.map +1 -1
  229. package/dist/src/formats/json/styles.d.ts +12 -1
  230. package/dist/src/formats/json/styles.d.ts.map +1 -1
  231. package/dist/src/formats/json/styles.js +1755 -136
  232. package/dist/src/formats/json/styles.js.map +1 -1
  233. package/dist/src/formats/pajek/draw.d.ts +96 -0
  234. package/dist/src/formats/pajek/draw.d.ts.map +1 -0
  235. package/dist/src/formats/pajek/draw.js +372 -0
  236. package/dist/src/formats/pajek/draw.js.map +1 -0
  237. package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
  238. package/dist/src/formats/pajek/exporter.js +70 -51
  239. package/dist/src/formats/pajek/exporter.js.map +1 -1
  240. package/dist/src/formats/pajek/importer.d.ts +9 -0
  241. package/dist/src/formats/pajek/importer.d.ts.map +1 -1
  242. package/dist/src/formats/pajek/importer.js +233 -102
  243. package/dist/src/formats/pajek/importer.js.map +1 -1
  244. package/dist/src/formats/pajek/index.d.ts +1 -0
  245. package/dist/src/formats/pajek/index.d.ts.map +1 -1
  246. package/dist/src/formats/pajek/index.js.map +1 -1
  247. package/dist/src/formats/pajek/styles.d.ts +15 -7
  248. package/dist/src/formats/pajek/styles.d.ts.map +1 -1
  249. package/dist/src/formats/pajek/styles.js +1279 -114
  250. package/dist/src/formats/pajek/styles.js.map +1 -1
  251. package/dist/src/formats/pajek/syntax.d.ts +10 -1
  252. package/dist/src/formats/pajek/syntax.d.ts.map +1 -1
  253. package/dist/src/formats/pajek/syntax.js +26 -2
  254. package/dist/src/formats/pajek/syntax.js.map +1 -1
  255. package/dist/src/formats/xgmml/emit.d.ts +1 -0
  256. package/dist/src/formats/xgmml/emit.d.ts.map +1 -1
  257. package/dist/src/formats/xgmml/emit.js +65 -5
  258. package/dist/src/formats/xgmml/emit.js.map +1 -1
  259. package/dist/src/formats/xgmml/styles.d.ts +23 -3
  260. package/dist/src/formats/xgmml/styles.d.ts.map +1 -1
  261. package/dist/src/formats/xgmml/styles.js +278 -60
  262. package/dist/src/formats/xgmml/styles.js.map +1 -1
  263. package/dist/src/index.d.ts +10 -2
  264. package/dist/src/index.d.ts.map +1 -1
  265. package/dist/src/index.js +11 -2
  266. package/dist/src/index.js.map +1 -1
  267. package/dist/src/positions/convert.d.ts.map +1 -1
  268. package/dist/src/positions/convert.js +11 -1
  269. package/dist/src/positions/convert.js.map +1 -1
  270. package/dist/src/positions/extract.d.ts.map +1 -1
  271. package/dist/src/positions/extract.js +53 -1
  272. package/dist/src/positions/extract.js.map +1 -1
  273. package/dist/src/positions/index.d.ts +1 -1
  274. package/dist/src/positions/index.d.ts.map +1 -1
  275. package/dist/src/positions/types.d.ts +59 -0
  276. package/dist/src/positions/types.d.ts.map +1 -1
  277. package/dist/src/registry.d.ts +173 -1
  278. package/dist/src/registry.d.ts.map +1 -1
  279. package/dist/src/registry.js +196 -1
  280. package/dist/src/registry.js.map +1 -1
  281. package/dist/src/sources/builtins.d.ts +11 -0
  282. package/dist/src/sources/builtins.d.ts.map +1 -0
  283. package/dist/src/sources/builtins.js +53 -0
  284. package/dist/src/sources/builtins.js.map +1 -0
  285. package/dist/src/sources/codes.d.ts +230 -0
  286. package/dist/src/sources/codes.d.ts.map +1 -0
  287. package/dist/src/sources/codes.js +58 -0
  288. package/dist/src/sources/codes.js.map +1 -0
  289. package/dist/src/sources/context.d.ts +112 -0
  290. package/dist/src/sources/context.d.ts.map +1 -0
  291. package/dist/src/sources/context.js +740 -0
  292. package/dist/src/sources/context.js.map +1 -0
  293. package/dist/src/sources/credentials.d.ts +179 -0
  294. package/dist/src/sources/credentials.d.ts.map +1 -0
  295. package/dist/src/sources/credentials.js +301 -0
  296. package/dist/src/sources/credentials.js.map +1 -0
  297. package/dist/src/sources/cypher/descriptor.d.ts +21 -0
  298. package/dist/src/sources/cypher/descriptor.d.ts.map +1 -0
  299. package/dist/src/sources/cypher/descriptor.js +124 -0
  300. package/dist/src/sources/cypher/descriptor.js.map +1 -0
  301. package/dist/src/sources/cypher/flatten.d.ts +72 -0
  302. package/dist/src/sources/cypher/flatten.d.ts.map +1 -0
  303. package/dist/src/sources/cypher/flatten.js +279 -0
  304. package/dist/src/sources/cypher/flatten.js.map +1 -0
  305. package/dist/src/sources/cypher/index.d.ts +33 -0
  306. package/dist/src/sources/cypher/index.d.ts.map +1 -0
  307. package/dist/src/sources/cypher/index.js +511 -0
  308. package/dist/src/sources/cypher/index.js.map +1 -0
  309. package/dist/src/sources/cypher/params.d.ts +40 -0
  310. package/dist/src/sources/cypher/params.d.ts.map +1 -0
  311. package/dist/src/sources/cypher/params.js +6 -0
  312. package/dist/src/sources/cypher/params.js.map +1 -0
  313. package/dist/src/sources/cypher/profiles.d.ts +44 -0
  314. package/dist/src/sources/cypher/profiles.d.ts.map +1 -0
  315. package/dist/src/sources/cypher/profiles.js +61 -0
  316. package/dist/src/sources/cypher/profiles.js.map +1 -0
  317. package/dist/src/sources/cypher/query-builder.d.ts +123 -0
  318. package/dist/src/sources/cypher/query-builder.d.ts.map +1 -0
  319. package/dist/src/sources/cypher/query-builder.js +267 -0
  320. package/dist/src/sources/cypher/query-builder.js.map +1 -0
  321. package/dist/src/sources/cypher/transports/bolt.d.ts +21 -0
  322. package/dist/src/sources/cypher/transports/bolt.d.ts.map +1 -0
  323. package/dist/src/sources/cypher/transports/bolt.js +185 -0
  324. package/dist/src/sources/cypher/transports/bolt.js.map +1 -0
  325. package/dist/src/sources/cypher/transports/neptune-analytics.d.ts +15 -0
  326. package/dist/src/sources/cypher/transports/neptune-analytics.d.ts.map +1 -0
  327. package/dist/src/sources/cypher/transports/neptune-analytics.js +38 -0
  328. package/dist/src/sources/cypher/transports/neptune-analytics.js.map +1 -0
  329. package/dist/src/sources/cypher/transports/neptune-https.d.ts +31 -0
  330. package/dist/src/sources/cypher/transports/neptune-https.d.ts.map +1 -0
  331. package/dist/src/sources/cypher/transports/neptune-https.js +104 -0
  332. package/dist/src/sources/cypher/transports/neptune-https.js.map +1 -0
  333. package/dist/src/sources/cypher/transports/query-api.d.ts +14 -0
  334. package/dist/src/sources/cypher/transports/query-api.d.ts.map +1 -0
  335. package/dist/src/sources/cypher/transports/query-api.js +80 -0
  336. package/dist/src/sources/cypher/transports/query-api.js.map +1 -0
  337. package/dist/src/sources/cypher/transports/transport.d.ts +78 -0
  338. package/dist/src/sources/cypher/transports/transport.d.ts.map +1 -0
  339. package/dist/src/sources/cypher/transports/transport.js +77 -0
  340. package/dist/src/sources/cypher/transports/transport.js.map +1 -0
  341. package/dist/src/sources/cypher/types-map.d.ts +91 -0
  342. package/dist/src/sources/cypher/types-map.d.ts.map +1 -0
  343. package/dist/src/sources/cypher/types-map.js +306 -0
  344. package/dist/src/sources/cypher/types-map.js.map +1 -0
  345. package/dist/src/sources/define.d.ts +47 -0
  346. package/dist/src/sources/define.d.ts.map +1 -0
  347. package/dist/src/sources/define.js +173 -0
  348. package/dist/src/sources/define.js.map +1 -0
  349. package/dist/src/sources/fail.d.ts +33 -0
  350. package/dist/src/sources/fail.d.ts.map +1 -0
  351. package/dist/src/sources/fail.js +49 -0
  352. package/dist/src/sources/fail.js.map +1 -0
  353. package/dist/src/sources/ids.d.ts +69 -0
  354. package/dist/src/sources/ids.d.ts.map +1 -0
  355. package/dist/src/sources/ids.js +69 -0
  356. package/dist/src/sources/ids.js.map +1 -0
  357. package/dist/src/sources/ndex/client.d.ts +31 -0
  358. package/dist/src/sources/ndex/client.d.ts.map +1 -0
  359. package/dist/src/sources/ndex/client.js +90 -0
  360. package/dist/src/sources/ndex/client.js.map +1 -0
  361. package/dist/src/sources/ndex/descriptor.d.ts +10 -0
  362. package/dist/src/sources/ndex/descriptor.d.ts.map +1 -0
  363. package/dist/src/sources/ndex/descriptor.js +55 -0
  364. package/dist/src/sources/ndex/descriptor.js.map +1 -0
  365. package/dist/src/sources/ndex/expand.d.ts +20 -0
  366. package/dist/src/sources/ndex/expand.d.ts.map +1 -0
  367. package/dist/src/sources/ndex/expand.js +87 -0
  368. package/dist/src/sources/ndex/expand.js.map +1 -0
  369. package/dist/src/sources/ndex/index.d.ts +25 -0
  370. package/dist/src/sources/ndex/index.d.ts.map +1 -0
  371. package/dist/src/sources/ndex/index.js +191 -0
  372. package/dist/src/sources/ndex/index.js.map +1 -0
  373. package/dist/src/sources/ndex/params.d.ts +17 -0
  374. package/dist/src/sources/ndex/params.d.ts.map +1 -0
  375. package/dist/src/sources/ndex/params.js +6 -0
  376. package/dist/src/sources/ndex/params.js.map +1 -0
  377. package/dist/src/sources/ndex/share-url.d.ts +40 -0
  378. package/dist/src/sources/ndex/share-url.d.ts.map +1 -0
  379. package/dist/src/sources/ndex/share-url.js +64 -0
  380. package/dist/src/sources/ndex/share-url.js.map +1 -0
  381. package/dist/src/sources/params.d.ts +31 -0
  382. package/dist/src/sources/params.d.ts.map +1 -0
  383. package/dist/src/sources/params.js +6 -0
  384. package/dist/src/sources/params.js.map +1 -0
  385. package/dist/src/sources/registry.d.ts +118 -0
  386. package/dist/src/sources/registry.d.ts.map +1 -0
  387. package/dist/src/sources/registry.js +193 -0
  388. package/dist/src/sources/registry.js.map +1 -0
  389. package/dist/src/sources/rest/descriptor.d.ts +16 -0
  390. package/dist/src/sources/rest/descriptor.d.ts.map +1 -0
  391. package/dist/src/sources/rest/descriptor.js +76 -0
  392. package/dist/src/sources/rest/descriptor.js.map +1 -0
  393. package/dist/src/sources/rest/index.d.ts +14 -0
  394. package/dist/src/sources/rest/index.d.ts.map +1 -0
  395. package/dist/src/sources/rest/index.js +13 -0
  396. package/dist/src/sources/rest/index.js.map +1 -0
  397. package/dist/src/sources/rest/mapping.d.ts +30 -0
  398. package/dist/src/sources/rest/mapping.d.ts.map +1 -0
  399. package/dist/src/sources/rest/mapping.js +362 -0
  400. package/dist/src/sources/rest/mapping.js.map +1 -0
  401. package/dist/src/sources/rest/openalex.d.ts +27 -0
  402. package/dist/src/sources/rest/openalex.d.ts.map +1 -0
  403. package/dist/src/sources/rest/openalex.js +269 -0
  404. package/dist/src/sources/rest/openalex.js.map +1 -0
  405. package/dist/src/sources/rest/paging.d.ts +53 -0
  406. package/dist/src/sources/rest/paging.d.ts.map +1 -0
  407. package/dist/src/sources/rest/paging.js +138 -0
  408. package/dist/src/sources/rest/paging.js.map +1 -0
  409. package/dist/src/sources/rest/params.d.ts +216 -0
  410. package/dist/src/sources/rest/params.d.ts.map +1 -0
  411. package/dist/src/sources/rest/params.js +7 -0
  412. package/dist/src/sources/rest/params.js.map +1 -0
  413. package/dist/src/sources/rest/records.d.ts +41 -0
  414. package/dist/src/sources/rest/records.d.ts.map +1 -0
  415. package/dist/src/sources/rest/records.js +240 -0
  416. package/dist/src/sources/rest/records.js.map +1 -0
  417. package/dist/src/sources/rest/samples/deps-dev.d.ts +10 -0
  418. package/dist/src/sources/rest/samples/deps-dev.d.ts.map +1 -0
  419. package/dist/src/sources/rest/samples/deps-dev.js +47 -0
  420. package/dist/src/sources/rest/samples/deps-dev.js.map +1 -0
  421. package/dist/src/sources/rest/samples/string.d.ts +9 -0
  422. package/dist/src/sources/rest/samples/string.d.ts.map +1 -0
  423. package/dist/src/sources/rest/samples/string.js +42 -0
  424. package/dist/src/sources/rest/samples/string.js.map +1 -0
  425. package/dist/src/sources/rest/selectors.d.ts +41 -0
  426. package/dist/src/sources/rest/selectors.d.ts.map +1 -0
  427. package/dist/src/sources/rest/selectors.js +81 -0
  428. package/dist/src/sources/rest/selectors.js.map +1 -0
  429. package/dist/src/sources/rest/source.d.ts +67 -0
  430. package/dist/src/sources/rest/source.d.ts.map +1 -0
  431. package/dist/src/sources/rest/source.js +650 -0
  432. package/dist/src/sources/rest/source.js.map +1 -0
  433. package/dist/src/sources/rest/templates.d.ts +38 -0
  434. package/dist/src/sources/rest/templates.d.ts.map +1 -0
  435. package/dist/src/sources/rest/templates.js +125 -0
  436. package/dist/src/sources/rest/templates.js.map +1 -0
  437. package/dist/src/sources/run.d.ts +93 -0
  438. package/dist/src/sources/run.d.ts.map +1 -0
  439. package/dist/src/sources/run.js +673 -0
  440. package/dist/src/sources/run.js.map +1 -0
  441. package/dist/src/sources/sha256.d.ts +12 -0
  442. package/dist/src/sources/sha256.d.ts.map +1 -0
  443. package/dist/src/sources/sha256.js +95 -0
  444. package/dist/src/sources/sha256.js.map +1 -0
  445. package/dist/src/sources/sigv4.d.ts +26 -0
  446. package/dist/src/sources/sigv4.d.ts.map +1 -0
  447. package/dist/src/sources/sigv4.js +184 -0
  448. package/dist/src/sources/sigv4.js.map +1 -0
  449. package/dist/src/sources/sparql/descriptor.d.ts +10 -0
  450. package/dist/src/sources/sparql/descriptor.d.ts.map +1 -0
  451. package/dist/src/sources/sparql/descriptor.js +64 -0
  452. package/dist/src/sources/sparql/descriptor.js.map +1 -0
  453. package/dist/src/sources/sparql/index.d.ts +28 -0
  454. package/dist/src/sources/sparql/index.d.ts.map +1 -0
  455. package/dist/src/sources/sparql/index.js +314 -0
  456. package/dist/src/sources/sparql/index.js.map +1 -0
  457. package/dist/src/sources/sparql/ntriples.d.ts +69 -0
  458. package/dist/src/sources/sparql/ntriples.d.ts.map +1 -0
  459. package/dist/src/sources/sparql/ntriples.js +180 -0
  460. package/dist/src/sources/sparql/ntriples.js.map +1 -0
  461. package/dist/src/sources/sparql/params.d.ts +27 -0
  462. package/dist/src/sources/sparql/params.d.ts.map +1 -0
  463. package/dist/src/sources/sparql/params.js +5 -0
  464. package/dist/src/sources/sparql/params.js.map +1 -0
  465. package/dist/src/sources/sparql/query.d.ts +72 -0
  466. package/dist/src/sources/sparql/query.d.ts.map +1 -0
  467. package/dist/src/sources/sparql/query.js +113 -0
  468. package/dist/src/sources/sparql/query.js.map +1 -0
  469. package/dist/src/sources/testing.d.ts +96 -0
  470. package/dist/src/sources/testing.d.ts.map +1 -0
  471. package/dist/src/sources/testing.js +138 -0
  472. package/dist/src/sources/testing.js.map +1 -0
  473. package/dist/src/sources/types.d.ts +696 -0
  474. package/dist/src/sources/types.d.ts.map +1 -0
  475. package/dist/src/sources/types.js +10 -0
  476. package/dist/src/sources/types.js.map +1 -0
  477. package/dist/src/styles/annotations.d.ts +61 -5
  478. package/dist/src/styles/annotations.d.ts.map +1 -1
  479. package/dist/src/styles/annotations.js +130 -22
  480. package/dist/src/styles/annotations.js.map +1 -1
  481. package/dist/src/styles/canon/bends.d.ts +46 -0
  482. package/dist/src/styles/canon/bends.d.ts.map +1 -1
  483. package/dist/src/styles/canon/bends.js +123 -0
  484. package/dist/src/styles/canon/bends.js.map +1 -1
  485. package/dist/src/styles/canon/color-tables.d.ts +6 -1
  486. package/dist/src/styles/canon/color-tables.d.ts.map +1 -1
  487. package/dist/src/styles/canon/color-tables.js +10 -4
  488. package/dist/src/styles/canon/color-tables.js.map +1 -1
  489. package/dist/src/styles/canon/color.d.ts +3 -1
  490. package/dist/src/styles/canon/color.d.ts.map +1 -1
  491. package/dist/src/styles/canon/color.js +103 -3
  492. package/dist/src/styles/canon/color.js.map +1 -1
  493. package/dist/src/styles/canon/enums.d.ts +2 -2
  494. package/dist/src/styles/canon/enums.d.ts.map +1 -1
  495. package/dist/src/styles/canon/enums.js +82 -7
  496. package/dist/src/styles/canon/enums.js.map +1 -1
  497. package/dist/src/styles/canon/graphviz.d.ts +12 -3
  498. package/dist/src/styles/canon/graphviz.d.ts.map +1 -1
  499. package/dist/src/styles/canon/graphviz.js +57 -9
  500. package/dist/src/styles/canon/graphviz.js.map +1 -1
  501. package/dist/src/styles/canon/number.d.ts +8 -0
  502. package/dist/src/styles/canon/number.d.ts.map +1 -1
  503. package/dist/src/styles/canon/number.js +18 -0
  504. package/dist/src/styles/canon/number.js.map +1 -1
  505. package/dist/src/styles/canon/text.d.ts +29 -2
  506. package/dist/src/styles/canon/text.d.ts.map +1 -1
  507. package/dist/src/styles/canon/text.js +156 -16
  508. package/dist/src/styles/canon/text.js.map +1 -1
  509. package/dist/src/styles/codes.d.ts +2 -0
  510. package/dist/src/styles/codes.d.ts.map +1 -1
  511. package/dist/src/styles/codes.js +2 -0
  512. package/dist/src/styles/codes.js.map +1 -1
  513. package/dist/src/styles/cyjs/cascade.d.ts.map +1 -1
  514. package/dist/src/styles/cyjs/cascade.js +1037 -35
  515. package/dist/src/styles/cyjs/cascade.js.map +1 -1
  516. package/dist/src/styles/cyjs/defaults-table.d.ts.map +1 -1
  517. package/dist/src/styles/cyjs/defaults-table.js +5 -0
  518. package/dist/src/styles/cyjs/defaults-table.js.map +1 -1
  519. package/dist/src/styles/cyjs/emit.d.ts.map +1 -1
  520. package/dist/src/styles/cyjs/emit.js +216 -12
  521. package/dist/src/styles/cyjs/emit.js.map +1 -1
  522. package/dist/src/styles/cyjs/face.d.ts +20 -0
  523. package/dist/src/styles/cyjs/face.d.ts.map +1 -0
  524. package/dist/src/styles/cyjs/face.js +332 -0
  525. package/dist/src/styles/cyjs/face.js.map +1 -0
  526. package/dist/src/styles/cyjs/mappers.d.ts +48 -2
  527. package/dist/src/styles/cyjs/mappers.d.ts.map +1 -1
  528. package/dist/src/styles/cyjs/mappers.js +463 -26
  529. package/dist/src/styles/cyjs/mappers.js.map +1 -1
  530. package/dist/src/styles/cyjs/routes.d.ts +53 -0
  531. package/dist/src/styles/cyjs/routes.d.ts.map +1 -0
  532. package/dist/src/styles/cyjs/routes.js +360 -0
  533. package/dist/src/styles/cyjs/routes.js.map +1 -0
  534. package/dist/src/styles/cytoscape/charts.d.ts +23 -0
  535. package/dist/src/styles/cytoscape/charts.d.ts.map +1 -0
  536. package/dist/src/styles/cytoscape/charts.js +560 -0
  537. package/dist/src/styles/cytoscape/charts.js.map +1 -0
  538. package/dist/src/styles/cytoscape/emit.d.ts.map +1 -1
  539. package/dist/src/styles/cytoscape/emit.js +204 -44
  540. package/dist/src/styles/cytoscape/emit.js.map +1 -1
  541. package/dist/src/styles/cytoscape/lexicon.d.ts +97 -3
  542. package/dist/src/styles/cytoscape/lexicon.d.ts.map +1 -1
  543. package/dist/src/styles/cytoscape/lexicon.js +413 -79
  544. package/dist/src/styles/cytoscape/lexicon.js.map +1 -1
  545. package/dist/src/styles/cytoscape/mappings.d.ts +30 -0
  546. package/dist/src/styles/cytoscape/mappings.d.ts.map +1 -1
  547. package/dist/src/styles/cytoscape/mappings.js +92 -0
  548. package/dist/src/styles/cytoscape/mappings.js.map +1 -1
  549. package/dist/src/styles/cytoscape/resolve.d.ts +46 -3
  550. package/dist/src/styles/cytoscape/resolve.d.ts.map +1 -1
  551. package/dist/src/styles/cytoscape/resolve.js +632 -22
  552. package/dist/src/styles/cytoscape/resolve.js.map +1 -1
  553. package/dist/src/styles/cytoscape/translate.d.ts.map +1 -1
  554. package/dist/src/styles/cytoscape/translate.js +10 -10
  555. package/dist/src/styles/cytoscape/translate.js.map +1 -1
  556. package/dist/src/styles/defaults.d.ts +50 -0
  557. package/dist/src/styles/defaults.d.ts.map +1 -1
  558. package/dist/src/styles/defaults.js +315 -37
  559. package/dist/src/styles/defaults.js.map +1 -1
  560. package/dist/src/styles/index.d.ts +4 -3
  561. package/dist/src/styles/index.d.ts.map +1 -1
  562. package/dist/src/styles/index.js +3 -2
  563. package/dist/src/styles/index.js.map +1 -1
  564. package/dist/src/styles/internal.d.ts +1 -0
  565. package/dist/src/styles/internal.d.ts.map +1 -1
  566. package/dist/src/styles/internal.js +1 -0
  567. package/dist/src/styles/internal.js.map +1 -1
  568. package/dist/src/styles/io/block.d.ts.map +1 -1
  569. package/dist/src/styles/io/block.js +9 -0
  570. package/dist/src/styles/io/block.js.map +1 -1
  571. package/dist/src/styles/io/generic.d.ts.map +1 -1
  572. package/dist/src/styles/io/generic.js +56 -16
  573. package/dist/src/styles/io/generic.js.map +1 -1
  574. package/dist/src/styles/io/round-trip.d.ts +56 -0
  575. package/dist/src/styles/io/round-trip.d.ts.map +1 -0
  576. package/dist/src/styles/io/round-trip.js +138 -0
  577. package/dist/src/styles/io/round-trip.js.map +1 -0
  578. package/dist/src/styles/io/writer.d.ts.map +1 -1
  579. package/dist/src/styles/io/writer.js +13 -4
  580. package/dist/src/styles/io/writer.js.map +1 -1
  581. package/dist/src/styles/notes.d.ts.map +1 -1
  582. package/dist/src/styles/notes.js +1 -0
  583. package/dist/src/styles/notes.js.map +1 -1
  584. package/dist/src/styles/plan/features.d.ts +1 -1
  585. package/dist/src/styles/plan/features.d.ts.map +1 -1
  586. package/dist/src/styles/plan/features.js +22 -2
  587. package/dist/src/styles/plan/features.js.map +1 -1
  588. package/dist/src/styles/plan/index.d.ts +1 -1
  589. package/dist/src/styles/plan/index.d.ts.map +1 -1
  590. package/dist/src/styles/plan/index.js +1 -1
  591. package/dist/src/styles/plan/index.js.map +1 -1
  592. package/dist/src/styles/plan/plan.d.ts.map +1 -1
  593. package/dist/src/styles/plan/plan.js +61 -4
  594. package/dist/src/styles/plan/plan.js.map +1 -1
  595. package/dist/src/styles/plan/resolve.d.ts +13 -1
  596. package/dist/src/styles/plan/resolve.d.ts.map +1 -1
  597. package/dist/src/styles/plan/resolve.js +53 -6
  598. package/dist/src/styles/plan/resolve.js.map +1 -1
  599. package/dist/src/styles/slots.d.ts +14 -0
  600. package/dist/src/styles/slots.d.ts.map +1 -0
  601. package/dist/src/styles/slots.js +20 -0
  602. package/dist/src/styles/slots.js.map +1 -0
  603. package/dist/src/styles/types.d.ts +638 -5
  604. package/dist/src/styles/types.d.ts.map +1 -1
  605. package/dist/src/styles/vocabulary.d.ts +3 -2
  606. package/dist/src/styles/vocabulary.d.ts.map +1 -1
  607. package/dist/src/styles/vocabulary.js +218 -1
  608. package/dist/src/styles/vocabulary.js.map +1 -1
  609. package/dist/src/types.d.ts +19 -5
  610. package/dist/src/types.d.ts.map +1 -1
  611. package/dist/src/types.js.map +1 -1
  612. package/dist/styles.js +29 -238
  613. package/dist/styles.js.map +1 -1
  614. package/dist/xgmml.js +3 -3
  615. package/docs/samples/people.json +6 -0
  616. package/package.json +53 -8
  617. package/src/common/report.ts +27 -7
  618. package/src/formats/cx/importer.ts +6 -1
  619. package/src/formats/cx/styles.ts +144 -9
  620. package/src/formats/cx2/importer.ts +1 -0
  621. package/src/formats/cx2/styles.ts +3 -1
  622. package/src/formats/cys/importer.ts +1 -0
  623. package/src/formats/cys/styles.ts +27 -5
  624. package/src/formats/dot/drawing.ts +799 -0
  625. package/src/formats/dot/importer.ts +120 -35
  626. package/src/formats/dot/label-places.ts +228 -0
  627. package/src/formats/dot/record.ts +336 -0
  628. package/src/formats/dot/styles.ts +1657 -154
  629. package/src/formats/gexf/dialog-metrics.ts +61 -0
  630. package/src/formats/gexf/importer.ts +50 -5
  631. package/src/formats/gexf/preview.ts +217 -0
  632. package/src/formats/gexf/schema.ts +2 -1
  633. package/src/formats/gexf/styles.ts +1144 -142
  634. package/src/formats/gml/importer.ts +291 -76
  635. package/src/formats/gml/index.ts +1 -1
  636. package/src/formats/gml/positions.ts +29 -7
  637. package/src/formats/gml/styles.ts +854 -111
  638. package/src/formats/graphml/styles-plain.ts +8 -23
  639. package/src/formats/graphml/styles-yed.ts +821 -159
  640. package/src/formats/graphml/styles-yfiles3.ts +485 -63
  641. package/src/formats/graphml/yfiles.ts +19 -6
  642. package/src/formats/json/dialect.ts +41 -5
  643. package/src/formats/json/importer.ts +59 -7
  644. package/src/formats/json/index.ts +1 -0
  645. package/src/formats/json/positions.ts +22 -5
  646. package/src/formats/json/styles.ts +2041 -185
  647. package/src/formats/pajek/draw.ts +458 -0
  648. package/src/formats/pajek/exporter.ts +81 -49
  649. package/src/formats/pajek/importer.ts +278 -103
  650. package/src/formats/pajek/index.ts +1 -0
  651. package/src/formats/pajek/styles.ts +1382 -133
  652. package/src/formats/pajek/syntax.ts +27 -2
  653. package/src/formats/xgmml/emit.ts +73 -5
  654. package/src/formats/xgmml/styles.ts +331 -71
  655. package/src/index.ts +94 -0
  656. package/src/positions/convert.ts +12 -1
  657. package/src/positions/extract.ts +55 -1
  658. package/src/positions/index.ts +1 -0
  659. package/src/positions/types.ts +60 -0
  660. package/src/registry.ts +326 -1
  661. package/src/sources/builtins.ts +63 -0
  662. package/src/sources/codes.ts +235 -0
  663. package/src/sources/context.ts +894 -0
  664. package/src/sources/credentials.ts +409 -0
  665. package/src/sources/cypher/descriptor.ts +131 -0
  666. package/src/sources/cypher/flatten.ts +323 -0
  667. package/src/sources/cypher/index.ts +628 -0
  668. package/src/sources/cypher/params.ts +41 -0
  669. package/src/sources/cypher/profiles.ts +78 -0
  670. package/src/sources/cypher/query-builder.ts +327 -0
  671. package/src/sources/cypher/transports/bolt.ts +228 -0
  672. package/src/sources/cypher/transports/neptune-analytics.ts +41 -0
  673. package/src/sources/cypher/transports/neptune-https.ts +122 -0
  674. package/src/sources/cypher/transports/query-api.ts +100 -0
  675. package/src/sources/cypher/transports/transport.ts +139 -0
  676. package/src/sources/cypher/types-map.ts +418 -0
  677. package/src/sources/define.ts +195 -0
  678. package/src/sources/fail.ts +70 -0
  679. package/src/sources/ids.ts +80 -0
  680. package/src/sources/ndex/client.ts +102 -0
  681. package/src/sources/ndex/descriptor.ts +64 -0
  682. package/src/sources/ndex/expand.ts +100 -0
  683. package/src/sources/ndex/index.ts +235 -0
  684. package/src/sources/ndex/params.ts +17 -0
  685. package/src/sources/ndex/share-url.ts +84 -0
  686. package/src/sources/params.ts +32 -0
  687. package/src/sources/registry.ts +325 -0
  688. package/src/sources/rest/descriptor.ts +79 -0
  689. package/src/sources/rest/index.ts +22 -0
  690. package/src/sources/rest/mapping.ts +401 -0
  691. package/src/sources/rest/openalex.ts +288 -0
  692. package/src/sources/rest/paging.ts +180 -0
  693. package/src/sources/rest/params.ts +243 -0
  694. package/src/sources/rest/records.ts +289 -0
  695. package/src/sources/rest/samples/deps-dev.ts +49 -0
  696. package/src/sources/rest/samples/string.ts +44 -0
  697. package/src/sources/rest/selectors.ts +91 -0
  698. package/src/sources/rest/source.ts +776 -0
  699. package/src/sources/rest/templates.ts +151 -0
  700. package/src/sources/run.ts +793 -0
  701. package/src/sources/sha256.ts +99 -0
  702. package/src/sources/sigv4.ts +209 -0
  703. package/src/sources/sparql/descriptor.ts +67 -0
  704. package/src/sources/sparql/index.ts +356 -0
  705. package/src/sources/sparql/ntriples.ts +219 -0
  706. package/src/sources/sparql/params.ts +28 -0
  707. package/src/sources/sparql/query.ts +162 -0
  708. package/src/sources/testing.ts +210 -0
  709. package/src/sources/types.ts +776 -0
  710. package/src/styles/annotations.ts +201 -27
  711. package/src/styles/canon/bends.ts +137 -0
  712. package/src/styles/canon/color-tables.ts +10 -4
  713. package/src/styles/canon/color.ts +105 -3
  714. package/src/styles/canon/enums.ts +99 -8
  715. package/src/styles/canon/graphviz.ts +71 -10
  716. package/src/styles/canon/number.ts +19 -0
  717. package/src/styles/canon/text.ts +187 -16
  718. package/src/styles/codes.ts +2 -0
  719. package/src/styles/cyjs/cascade.ts +1193 -38
  720. package/src/styles/cyjs/defaults-table.ts +5 -0
  721. package/src/styles/cyjs/emit.ts +247 -16
  722. package/src/styles/cyjs/face.ts +372 -0
  723. package/src/styles/cyjs/mappers.ts +498 -28
  724. package/src/styles/cyjs/routes.ts +432 -0
  725. package/src/styles/cytoscape/charts.ts +684 -0
  726. package/src/styles/cytoscape/emit.ts +220 -44
  727. package/src/styles/cytoscape/lexicon.ts +459 -80
  728. package/src/styles/cytoscape/mappings.ts +108 -0
  729. package/src/styles/cytoscape/resolve.ts +763 -23
  730. package/src/styles/cytoscape/translate.ts +11 -11
  731. package/src/styles/defaults.ts +436 -38
  732. package/src/styles/index.ts +5 -0
  733. package/src/styles/internal.ts +1 -0
  734. package/src/styles/io/block.ts +10 -0
  735. package/src/styles/io/generic.ts +79 -23
  736. package/src/styles/io/round-trip.ts +202 -0
  737. package/src/styles/io/writer.ts +14 -4
  738. package/src/styles/notes.ts +1 -0
  739. package/src/styles/plan/features.ts +23 -2
  740. package/src/styles/plan/index.ts +1 -1
  741. package/src/styles/plan/plan.ts +69 -5
  742. package/src/styles/plan/resolve.ts +61 -6
  743. package/src/styles/slots.ts +25 -0
  744. package/src/styles/types.ts +658 -4
  745. package/src/styles/vocabulary.ts +226 -3
  746. package/src/types.ts +19 -5
  747. package/dist/chunks/block-DiGq58c3.js.map +0 -1
  748. package/dist/chunks/choose--jM0yYCo.js +0 -57
  749. package/dist/chunks/choose--jM0yYCo.js.map +0 -1
  750. package/dist/chunks/convert-BcQ8_jMo.js.map +0 -1
  751. package/dist/chunks/emit-CwU8cUmG.js.map +0 -1
  752. package/dist/chunks/export-BvqAXCKh.js.map +0 -1
  753. package/dist/chunks/exporter-CrDWIyiq.js.map +0 -1
  754. package/dist/chunks/format-BpQBx8MZ.js.map +0 -1
  755. package/dist/chunks/generic-Dq1ntt9q.js.map +0 -1
  756. package/dist/chunks/importer-BSvfrX_h.js.map +0 -1
  757. package/dist/chunks/importer-CMmeMWlC.js.map +0 -1
  758. package/dist/chunks/importer-COTK9Tsl.js.map +0 -1
  759. package/dist/chunks/importer-DiZRmOQG.js.map +0 -1
  760. package/dist/chunks/importer-e6LGpqHB.js.map +0 -1
  761. package/dist/chunks/importer-iFYPEKaJ.js.map +0 -1
  762. package/dist/chunks/importer-yh_aBCU6.js.map +0 -1
  763. package/dist/chunks/lexicon-CT69Kd87.js.map +0 -1
  764. package/dist/chunks/styles-BQnsga7p.js.map +0 -1
  765. package/dist/chunks/styles-D3fRphrO.js +0 -690
  766. package/dist/chunks/styles-D3fRphrO.js.map +0 -1
  767. package/dist/chunks/styles-yed-BF5x3_Y5.js +0 -842
  768. package/dist/chunks/styles-yed-BF5x3_Y5.js.map +0 -1
  769. package/dist/chunks/writer-DMKvthQE.js +0 -448
  770. package/dist/chunks/writer-DMKvthQE.js.map +0 -1
@@ -21,12 +21,19 @@ export type StyleColor = `#${string}`;
21
21
  * Node shapes. A shape the vocabulary has no name for is kept as `other:<the file's spelling>`.
22
22
  * @category Styles
23
23
  */
24
- export type StyleNodeShape = "ellipse" | "rectangle" | "round-rectangle" | "triangle" | "diamond" | "pentagon" | "hexagon" | "octagon" | "parallelogram" | "trapezoid" | "star" | "vee" | "none" | `other:${string}`;
24
+ export type StyleNodeShape = "ellipse" | "rectangle" | "round-rectangle" | "triangle" | "diamond" | "pentagon" | "hexagon" | "octagon" | "parallelogram" | "trapezoid" | "star" | "vee" | "polygon" | "none" | `other:${string}`;
25
25
  /**
26
26
  * Node border styles; unknown spellings are kept as `other:<raw>`.
27
27
  * @category Styles
28
28
  */
29
29
  export type StyleBorderStyle = "solid" | "dashed" | "dotted" | "dash-dot" | "double" | `other:${string}`;
30
+ /**
31
+ * Where a node's border sits against its `width` and `height`: `center` runs the border's middle along them, half
32
+ * in and half out, the way an SVG or canvas stroke is drawn (most programs); `inside` keeps the whole border within
33
+ * them, so the node is drawn no larger than its size (Cytoscape desktop); `outside` draws it wholly beyond them.
34
+ * @category Styles
35
+ */
36
+ export type StyleBorderPosition = "inside" | "center" | "outside";
30
37
  /**
31
38
  * Edge line styles; unknown spellings are kept as `other:<raw>`.
32
39
  * @category Styles
@@ -37,16 +44,39 @@ export type StyleLineStyle = "solid" | "dashed" | "dotted" | "dash-dot" | "long-
37
44
  * @category Styles
38
45
  */
39
46
  export type StyleArrowShape = "none" | "triangle" | "triangle-open" | "vee" | "tee" | "diamond" | "diamond-open" | "circle" | "circle-open" | "square" | "crow" | "half" | "inverted" | `other:${string}`;
47
+ /**
48
+ * The side of its line an arrowhead cut along the line keeps, looking along the line toward the arrowhead's tip.
49
+ * @category Styles
50
+ */
51
+ export type StyleArrowSide = "left" | "right";
40
52
  /**
41
53
  * Label font weights.
42
54
  * @category Styles
43
55
  */
44
56
  export type StyleLabelWeight = "normal" | "bold";
45
57
  /**
46
- * Where a node's label sits relative to the node.
58
+ * Where a node's label sits relative to the node: `center` in its middle, a side or corner (`top`, `bottom-left`, ...)
59
+ * outside the node beyond that side, and an `inside-` side or corner inside the node against that side, as a group's
60
+ * header label sits along its top.
61
+ * @category Styles
62
+ */
63
+ export type StyleLabelPosition = "center" | "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "inside-top" | "inside-bottom" | "inside-left" | "inside-right" | "inside-top-left" | "inside-top-right" | "inside-bottom-left" | "inside-bottom-right";
64
+ /**
65
+ * How a label's lines line up with one another: their left edges, their middles or their right edges.
47
66
  * @category Styles
48
67
  */
49
- export type StyleLabelPosition = "center" | "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right";
68
+ export type StyleLabelTextAlign = "left" | "center" | "right";
69
+ /**
70
+ * How a node grows to hold its label, when it does: its `width` and `height` are then minimums, and the label's box
71
+ * (as wide as its widest line and as tall as its lines at one `labelSize` each), with `labelPaddingX` and
72
+ * `labelPaddingY` added on each side, decides the rest.
73
+ *
74
+ * - `inside`: the padded box fits inside the node's outline, so an ellipse or a diamond grows past the box's corners
75
+ * (Graphviz).
76
+ * - `bounds`: the padded box is the node's width and height, whatever its shape (vis-network).
77
+ * @category Styles
78
+ */
79
+ export type StyleLabelFit = "inside" | "bounds";
50
80
  /**
51
81
  * The neutral node properties and the type of each value. Lengths are in the unit `FileStyles.units.length`
52
82
  * names; opacities are 0..1.
@@ -55,6 +85,29 @@ export type StyleLabelPosition = "center" | "top" | "bottom" | "left" | "right"
55
85
  export interface NodeStyleValues {
56
86
  /** The fill color. */
57
87
  readonly fill: StyleColor;
88
+ /**
89
+ * The color a linear gradient fill runs into: the fill is `fill` at the start of the gradient and this at its end.
90
+ * Unset, the fill is flat.
91
+ */
92
+ readonly fillGradient: StyleColor;
93
+ /**
94
+ * Which way a gradient fill runs, in degrees on the screen: 0 from left to right, 90 from top to bottom, 45 from
95
+ * the top-left corner to the bottom-right one. Unset, 0.
96
+ */
97
+ readonly fillGradientAngle: number;
98
+ /**
99
+ * Every color a gradient fill runs through, from its start to its end, `#rrggbb` separated by spaces (Cytoscape.js
100
+ * `background-gradient-stop-colors`), in place of `fill` and `fillGradient` for the gradient. Unset, the gradient
101
+ * runs from `fill` into `fillGradient`.
102
+ */
103
+ readonly fillGradientColors: string;
104
+ /**
105
+ * Where each color of a gradient fill sits, fractions from 0 to 1 separated by spaces, one per color
106
+ * (`fillGradientColors`, else `fill` and `fillGradient`); absent, evenly spaced.
107
+ */
108
+ readonly fillGradientStops: string;
109
+ /** How a gradient fill runs: `linear` across the node (`fillGradientAngle`), or `radial` out from its middle. */
110
+ readonly fillGradientKind: string;
58
111
  /** The border (outline) color. */
59
112
  readonly borderColor: StyleColor;
60
113
  /** The label's text color. */
@@ -63,6 +116,8 @@ export interface NodeStyleValues {
63
116
  readonly fillOpacity: number;
64
117
  /** The opacity of the whole node, 0..1. */
65
118
  readonly opacity: number;
119
+ /** The opacity of the border alone, 0..1 (0 draws no border). */
120
+ readonly borderOpacity: number;
66
121
  /** The width. */
67
122
  readonly width: number;
68
123
  /** The height. */
@@ -73,12 +128,135 @@ export interface NodeStyleValues {
73
128
  readonly cornerRadius: number;
74
129
  /** The label's font size. */
75
130
  readonly labelSize: number;
131
+ /** The width the label's lines wrap at, in the unit of `width`; unset, a line is as long as its words. */
132
+ readonly labelWrapWidth: number;
133
+ /**
134
+ * Whether a space after each word counts toward `labelWrapWidth`, the last word's too: a line keeps a word only
135
+ * while the word and a space after it still fit, as Cytoscape desktop measures a line (Cytoscape.js does so for
136
+ * every word but a line's last). Unset or false, only the words count, as a browser wraps text.
137
+ */
138
+ readonly labelWrapTrailingSpace: boolean;
139
+ /**
140
+ * Whether a line wider than `labelWrapWidth` is cut to fit with an ellipsis after it, in place of wrapping
141
+ * (Cytoscape.js `text-wrap: ellipsis`). Unset or false, it wraps.
142
+ */
143
+ readonly labelWrapEllipsis: boolean;
144
+ /**
145
+ * Whether a line may break between any two letters, filling each line to `labelWrapWidth`, not only at spaces
146
+ * (Cytoscape.js `text-overflow-wrap: anywhere`). Unset or false, only at spaces.
147
+ */
148
+ readonly labelWrapAnywhere: boolean;
149
+ /**
150
+ * How many blanks one blank between two words counts as when a line is measured against `labelWrapWidth`; it
151
+ * is still drawn once (vis-network joins a line's words and blanks each with a blank, so it counts three).
152
+ * Unset, one.
153
+ */
154
+ readonly labelWrapSpaceCount: number;
155
+ /**
156
+ * Where runs of different sizes in one line of `labelRuns` meet: `baseline` (their alphabetic baselines, the
157
+ * default), `hanging` (their hanging baselines, so their tops line up) or `middle` (their middles).
158
+ */
159
+ readonly labelRunAlign: string;
160
+ /** Whether and how the node grows to hold its label; unset, `width` and `height` are its size. */
161
+ readonly labelFit: StyleLabelFit;
162
+ /** The space between the label's box and the node's sides, left and right each, when it grows to fit the label. */
163
+ readonly labelPaddingX: number;
164
+ /** The space between the label's box and the node's top and bottom, each, when it grows to fit the label. */
165
+ readonly labelPaddingY: number;
166
+ /** Whether a node that grows to fit its label stays as wide as it is tall (a circle, a square). */
167
+ readonly labelFitSquare: boolean;
76
168
  /** The shape. */
77
169
  readonly shape: StyleNodeShape;
170
+ /**
171
+ * A `polygon` node's corners, each as `x,y` relative to the node's center as fractions of its half width and half
172
+ * height, y up, separated by spaces: `"0,1 1,-1 -1,-1"` is a triangle filling the box. A corner past 1 reaches
173
+ * outside the box; a node that grows to hold its label (`labelFit`) then grows as far as its corners reach.
174
+ */
175
+ readonly shapePoints: string;
176
+ /**
177
+ * Whether a `polygon` node's corners are stretched about its center until the farthest on each axis reach its
178
+ * sides (true, the default), or drawn exactly where `shapePoints` puts them (false: OGDF's regular polygons
179
+ * inside the ellipse of the node's box).
180
+ */
181
+ readonly shapePointsStretch: boolean;
182
+ /**
183
+ * Further closed pieces of the node's body beside its outline: polygons written as `shapePoints` is, separated by
184
+ * ";", drawn where they say (never stretched), each filled as the node is and outlined in its border's color and
185
+ * width: Graphviz's `assembly` is two bars, its `noverhang` four.
186
+ */
187
+ readonly shapeParts: string;
188
+ /**
189
+ * Lines drawn over the node in its border's color, as `shapeParts` writes polygons: open polylines (one that ends
190
+ * where it starts is closed), `shapeLineWidth` wide: Graphviz's `promoter` baseline, a `box3d`'s edges.
191
+ */
192
+ readonly shapeLines: string;
193
+ /** How wide `shapeLines` are drawn; unset, the border's width. */
194
+ readonly shapeLineWidth: number;
195
+ /**
196
+ * Further texts drawn on the node in its label's font, size and color, each one line centered on its point: a JSON
197
+ * list of `[x, y, text]`, the point as `shapeParts` writes one (Graphviz's record fields, `[[-0.5, 0, "a"], [0.5,
198
+ * 0, "b"]]`).
199
+ */
200
+ readonly shapeTexts: string;
78
201
  /** The border's line style. */
79
202
  readonly borderStyle: StyleBorderStyle;
203
+ /** Where the border sits against the node's width and height. */
204
+ readonly borderPosition: StyleBorderPosition;
205
+ /**
206
+ * How far a zigzag or sine-wave border swings to either side of the ring's middle (a length; Cytoscape desktop's
207
+ * strokes swing 10 px). With it, `borderWidth` is the thickness of the waving line.
208
+ */
209
+ readonly borderWaveAmplitude: number;
210
+ /** How far round the node a zigzag or sine-wave border runs before it repeats (a length; Cytoscape's: 20 px). */
211
+ readonly borderWavePeriod: number;
212
+ /** A second ring's color, drawn outside the border (Cytoscape.js `outline-color`). */
213
+ readonly outerBorderColor: StyleColor;
214
+ /** That ring's width (a length; Cytoscape.js `outline-width`); 0 or absent draws none. */
215
+ readonly outerBorderWidth: number;
216
+ /** That ring's opacity, 0..1. */
217
+ readonly outerBorderOpacity: number;
218
+ /** That ring's line style. */
219
+ readonly outerBorderStyle: StyleBorderStyle;
220
+ /**
221
+ * How far beyond the border's outer edge that ring starts (a length). Cytoscape.js draws its outline half its
222
+ * `outline-offset` out, so that is what is read.
223
+ */
224
+ readonly outerBorderOffset: number;
225
+ /**
226
+ * The color of a filled shape drawn beneath the node, `underlayPadding` beyond its box on every side (Cytoscape.js
227
+ * `underlay-*`); drawn only with an `underlayOpacity` above 0.
228
+ */
229
+ readonly underlayColor: StyleColor;
230
+ /** The opacity of the underlay, 0..1; 0 draws none. */
231
+ readonly underlayOpacity: number;
232
+ /** How far beyond the node's box the underlay reaches on every side (a length). */
233
+ readonly underlayPadding: number;
234
+ /** The underlay's shape; absent, the node's own. */
235
+ readonly underlayShape: StyleNodeShape;
236
+ /** The largest radius of a rounded underlay's corners (a length). */
237
+ readonly underlayCornerRadius: number;
238
+ /** The color of the same filled shape drawn over the node (Cytoscape.js `overlay-*`). */
239
+ readonly overlayColor: StyleColor;
240
+ /** The opacity of the overlay, 0..1; 0 draws none. */
241
+ readonly overlayOpacity: number;
242
+ /** How far beyond the node's box the overlay reaches on every side (a length). */
243
+ readonly overlayPadding: number;
244
+ /** The overlay's shape; absent, the node's own. */
245
+ readonly overlayShape: StyleNodeShape;
246
+ /** The largest radius of a rounded overlay's corners (a length). */
247
+ readonly overlayCornerRadius: number;
80
248
  /** The label text, as the tool draws it. */
81
249
  readonly label: string;
250
+ /**
251
+ * The label drawn in runs of styles of their own (a program's rich text: vis-network's multi-font labels), as a
252
+ * JSON array of runs left to right, each `{ "text": string, "weight"?: "bold", "italic"?: true, "font"?: string,
253
+ * "size"?: number, "color"?: "#rrggbb", "shift"?: number }`; a run's `text` may hold line breaks. A run gives only
254
+ * what differs from the label's own font (`labelFont`, `labelSize` in the unit of `width`, `labelColor`,
255
+ * `labelWeight`, `labelItalic`); `shift` is how far below the label's line the run is drawn, in the unit of its
256
+ * size (negative: above). Its words, run after run, are `label`. Unset, the label is drawn in its own font
257
+ * throughout.
258
+ */
259
+ readonly labelRuns: string;
82
260
  /** The tooltip text. */
83
261
  readonly tooltip: string;
84
262
  /** The label's font family, as the file names it. */
@@ -89,8 +267,194 @@ export interface NodeStyleValues {
89
267
  readonly labelItalic: boolean;
90
268
  /** Where the label sits relative to the node. */
91
269
  readonly labelPosition: StyleLabelPosition;
270
+ /** How the label's lines line up with one another: `left`, `center` (the default) or `right`. */
271
+ readonly labelTextAlign: StyleLabelTextAlign;
272
+ /** How far right of where `labelPosition` puts it the label is drawn (a length). */
273
+ readonly labelOffsetX: number;
274
+ /** How far down from where `labelPosition` puts it the label is drawn (a length). */
275
+ readonly labelOffsetY: number;
276
+ /**
277
+ * How far right the label is drawn again, as a fraction of its own width: -0.5 puts its right edge where its middle
278
+ * was. With `labelPosition` `center` and the offsets, it pins any point of the label's box to any point of the
279
+ * node's (Cytoscape desktop's label positions). Measured along the label's own axes, turned by `labelRotation`, so a
280
+ * turned label turns about the point the shift pins, as Cytoscape and Pajek turn a label about its anchor.
281
+ */
282
+ readonly labelShiftX: number;
283
+ /** How far down the label is drawn again, as a fraction of its own height; see `labelShiftX`. */
284
+ readonly labelShiftY: number;
285
+ /** The opacity of the label's words, 0..1. */
286
+ readonly labelOpacity: number;
287
+ /**
288
+ * The label is not drawn while its letters are drawn smaller than this many screen pixels: a screen size, not a
289
+ * length, so it is never scaled with the file's lengths (vis-network's `scaling.label.drawThreshold`). Unset, the
290
+ * label is drawn at any size.
291
+ */
292
+ readonly labelMinScreenSize: number;
293
+ /**
294
+ * Whether the label is left out where it would overlap the label of another node drawn before it, the larger label
295
+ * (then the larger node) first, as Gephi's Preview (`node.label.avoidOverlap`) thins out labels. Unset or false,
296
+ * the label is drawn wherever it falls.
297
+ */
298
+ readonly labelAvoidOverlap: boolean;
299
+ /**
300
+ * The label is not drawn while its node is drawn smaller than this many screen pixels across (the smaller of its
301
+ * width and height): a screen size, not a length, so it is never scaled with the file's lengths (sigma.js's
302
+ * `labelRenderedSizeThreshold`, a radius of 6 px). Unset, the node's size never hides its label.
303
+ */
304
+ readonly labelMinNodeScreenSize: number;
305
+ /**
306
+ * The node labels are thinned by a grid of square cells this many px across, laid over the drawing as the program
307
+ * first frames it in its canvas (its positions fitted to the canvas): each cell draws the label of its largest node
308
+ * only (then the lesser id), and more of them as the view zooms in, n x n times as many at n times the zoom
309
+ * (sigma.js's `labelGridCellSize`, `labelDensity` 1). Unset, no grid thins the labels.
310
+ */
311
+ readonly labelGridCellSize: number;
312
+ /**
313
+ * Whether the label is drawn over every node and edge, as sigma.js draws its labels on a layer of their own; unset
314
+ * or false, a nearer node may cover it.
315
+ */
316
+ readonly labelOnTop: boolean;
317
+ /** How far the label is turned, in degrees clockwise on screen, 0 up to 360. */
318
+ readonly labelRotation: number;
319
+ /** The color of a box drawn behind the label's text (vis-network `font.background`). */
320
+ readonly labelBackground: StyleColor;
321
+ /** The opacity of that box, 0..1. */
322
+ readonly labelBackgroundOpacity: number;
323
+ /** The color of an outline drawn round each letter of the label (vis-network `font.strokeColor`). */
324
+ readonly labelOutlineColor: StyleColor;
325
+ /**
326
+ * How thick that outline is, a stroke centered on the letters' edges, in the units of `labelSize`; 0 draws none
327
+ * (vis-network `font.strokeWidth`).
328
+ */
329
+ readonly labelOutlineWidth: number;
330
+ /** The color of a line drawn round the box behind the label's words (yEd `lineColor`). */
331
+ readonly labelBorderColor: StyleColor;
332
+ /** How thick that line is, in the units of `labelSize`; 0 draws none. */
333
+ readonly labelBorderWidth: number;
334
+ /** How opaque the outline round the label's letters is, from 0 (none) to 1, over its color. Unset, 1. */
335
+ readonly labelOutlineOpacity: number;
336
+ /** How opaque the line round the box behind the label's words is, from 0 (none) to 1, over its color. Unset, 1. */
337
+ readonly labelBorderOpacity: number;
338
+ /**
339
+ * How far the box behind the label's words (its background and border) reaches past the words' line box on every
340
+ * side, in the units of `labelSize`; 0 puts the border against the words. Unset, the drawing program's default.
341
+ */
342
+ readonly labelPadding: number;
343
+ /** How far the corners of the box behind the label's words are rounded, in the units of `labelSize`. Unset, square. */
344
+ readonly labelCornerRadius: number;
345
+ /** How tall one line of the label is, as a multiple of its font's ascent plus descent. Unset, 1.2. */
346
+ readonly labelLineHeight: number;
92
347
  /** The URI of an image drawn on the node. */
93
348
  readonly image: string;
349
+ /**
350
+ * How the image is sized against the node: `contain` (keeps its proportions inside the node), `cover` (keeps them
351
+ * over the whole node), `fill` (stretched to the node), or `none` (`imageWidth` x `imageHeight`, else its own
352
+ * pixels, one length each). Unset, `contain`.
353
+ */
354
+ readonly imageFit: string;
355
+ /** The image drawn instead when `image` cannot be loaded (vis-network's `brokenImage`). */
356
+ readonly imageFallback: string;
357
+ /** The image's width where `imageFit` is `none` (a length); with only `imageHeight`, its proportions decide. */
358
+ readonly imageWidth: number;
359
+ /** The image's height where `imageFit` is `none` (a length). */
360
+ readonly imageHeight: number;
361
+ /** Where the image sits across the room the node leaves it, 0 (left) to 1 (right); unset, 0.5. */
362
+ readonly imagePositionX: number;
363
+ /** Where the image sits up and down the room the node leaves it, 0 (top) to 1 (bottom); unset, 0.5. */
364
+ readonly imagePositionY: number;
365
+ /** How far right the image is moved from there (a length). */
366
+ readonly imageOffsetX: number;
367
+ /** How far down the image is moved from there (a length). */
368
+ readonly imageOffsetY: number;
369
+ /** Whether the image is tiled: `no-repeat` (unset), `repeat`, `repeat-x` or `repeat-y`. */
370
+ readonly imageRepeat: string;
371
+ /** `node` (unset) keeps the image inside the node's outline; `none` lets it reach past. */
372
+ readonly imageClip: string;
373
+ /** Whether the image's pixels are smoothed when it is scaled; false draws them as squares. Unset, true. */
374
+ readonly imageSmoothing: boolean;
375
+ /**
376
+ * How an image whose `imageFit` is `none` fills the side `imageWidth` or `imageHeight` leaves unset: `proportional`
377
+ * (unset) keeps its proportions to the side given; `natural` draws it at its own pixels (Cytoscape.js's `auto`).
378
+ */
379
+ readonly imageAutoSize: string;
380
+ /** The image's opacity, 0..1. */
381
+ readonly imageOpacity: number;
382
+ /**
383
+ * A character or short text drawn over the node, centered on it (vis-network's icon nodes: an icon font's
384
+ * glyph), in `glyphFont` (a CSS font family) at `glyphSize` (the font's size, in the units of `width`),
385
+ * `glyphWeight` and `glyphColor`.
386
+ */
387
+ readonly glyph: string;
388
+ /** The glyph's CSS font family. */
389
+ readonly glyphFont: string;
390
+ /** The glyph's font size, in the units of `width`. */
391
+ readonly glyphSize: number;
392
+ /** The glyph's weight. */
393
+ readonly glyphWeight: StyleLabelWeight;
394
+ /** The glyph's color. */
395
+ readonly glyphColor: string;
396
+ /**
397
+ * The colors of a pie chart drawn over the node, one slice each, `#rrggbb` separated by spaces (Cytoscape.js
398
+ * `pie-N-background-color`, Graphviz `style=wedged`).
399
+ */
400
+ readonly pieColors: string;
401
+ /** Each slice's share of the turn, fractions separated by spaces; a slice with none shares what is left. */
402
+ readonly pieSizes: string;
403
+ /** Each slice's opacity, 0..1 separated by spaces; unset, 1. */
404
+ readonly pieOpacities: string;
405
+ /** The pie's radius as a fraction of half the node's shorter side; unset, 1. */
406
+ readonly pieRadius: number;
407
+ /** The hole in the pie's middle as a fraction of its radius (a ring chart); unset, 0. */
408
+ readonly pieHole: number;
409
+ /** Where the first slice starts, in degrees clockwise from 12 o'clock; the slices run clockwise. */
410
+ readonly pieRotation: number;
411
+ /** Whether the pie fills the node's box as an ellipse rather than a circle (Graphviz's wedged ellipse). */
412
+ readonly pieFitBox: boolean;
413
+ /** How far right of the node's center the pie's center is (a length; Cytoscape's chart positions). */
414
+ readonly pieOffsetX: number;
415
+ /** How far down from the node's center the pie's center is (a length). */
416
+ readonly pieOffsetY: number;
417
+ /**
418
+ * The colors of bands drawn over the node inside its outline, `#rrggbb` separated by spaces (Cytoscape.js
419
+ * `stripe-N-background-color`, Graphviz `style=striped`).
420
+ */
421
+ readonly stripeColors: string;
422
+ /** Each band's share of the node, fractions separated by spaces; a band with none shares what is left. */
423
+ readonly stripeSizes: string;
424
+ /** Each band's opacity, 0..1 separated by spaces; unset, 1. */
425
+ readonly stripeOpacities: string;
426
+ /** Which way the bands follow one another: `down` (unset, top to bottom) or `right` (left to right). */
427
+ readonly stripeDirection: string;
428
+ /** The size of the box the bands fill, as a fraction of the node's; unset, 1. */
429
+ readonly stripeSize: number;
430
+ /**
431
+ * A chart drawn over the node (Cytoscape's bar, line, box and heat map charts): `bar` (bars side by side),
432
+ * `stacked-bar` (the values piled into one bar), `line`, `box` (the values are the low whisker, the lower
433
+ * quartile, the median, the upper quartile and the high whisker) or `cells` (a row of colored cells).
434
+ */
435
+ readonly chartKind: string;
436
+ /** The chart's values, numbers separated by spaces, in the order they are drawn. */
437
+ readonly chartValues: string;
438
+ /** The chart's colors, `#rrggbb` separated by spaces: item i in color i, the last color for the rest. */
439
+ readonly chartColors: string;
440
+ /** The value at the start of the chart's value axis; unset, the smaller of 0 and the least value. */
441
+ readonly chartMin: number;
442
+ /** The value at the end of the chart's value axis; unset, the greatest value. */
443
+ readonly chartMax: number;
444
+ /** Whether the values run left to right (true) or bottom to top (unset); the categories run the other way. */
445
+ readonly chartHorizontal: boolean;
446
+ /** The size of the chart's plot box, as a fraction of the node's; unset, 1. */
447
+ readonly chartSize: number;
448
+ /** How much of the category side is left empty at each end, as a fraction of it; unset, 0. */
449
+ readonly chartMargin: number;
450
+ /** How much of the category side is left between the categories in all, as a fraction of it; unset, 0. */
451
+ readonly chartGap: number;
452
+ /** How wide the chart draws a line and a whisker (a length). */
453
+ readonly chartLineWidth: number;
454
+ /** The color of a bar's and a box's outline. */
455
+ readonly chartBorderColor: StyleColor;
456
+ /** How wide a bar's and a box's outline is (a length); unset, none. */
457
+ readonly chartBorderWidth: number;
94
458
  /** Whether the node is drawn at all. */
95
459
  readonly visible: boolean;
96
460
  }
@@ -109,41 +473,286 @@ export interface EdgeStyleValues {
109
473
  readonly labelColor: StyleColor;
110
474
  /** The opacity of the whole edge, 0..1. */
111
475
  readonly opacity: number;
476
+ /**
477
+ * How much wider than the line a band drawn under it is (a length, half of it each side; Cytoscape.js
478
+ * `line-outline-width`, vis-network `background.size` less the line's width); 0 or absent draws none.
479
+ */
480
+ readonly outlineWidth: number;
481
+ /** The color of that band. */
482
+ readonly outlineColor: StyleColor;
483
+ /** The opacity of that band, 0..1. */
484
+ readonly outlineOpacity: number;
485
+ /** The pattern that band is drawn in (vis-network `background.dashes`); unset, solid. */
486
+ readonly outlineStyle: StyleLineStyle;
487
+ /**
488
+ * The color of a band drawn beneath the line along its whole length, `underlayPadding` either side of the line's
489
+ * middle whatever its width (Cytoscape.js `underlay-*`); drawn only with an `underlayOpacity` above 0.
490
+ */
491
+ readonly underlayColor: StyleColor;
492
+ /** The opacity of that band, 0..1; 0 draws none. */
493
+ readonly underlayOpacity: number;
494
+ /** How far either side of the line's middle the band reaches (a length). */
495
+ readonly underlayPadding: number;
496
+ /** The color of the same band drawn over the line (Cytoscape.js `overlay-*`). */
497
+ readonly overlayColor: StyleColor;
498
+ /** The opacity of the band over the line, 0..1; 0 draws none. */
499
+ readonly overlayOpacity: number;
500
+ /** How far either side of the line's middle the band over it reaches (a length). */
501
+ readonly overlayPadding: number;
502
+ /**
503
+ * The colors a line painted in a gradient runs through, `#rrggbb` separated by spaces (Cytoscape.js
504
+ * `line-gradient-stop-colors`); see `gradientKind`.
505
+ */
506
+ readonly gradientColors: string;
507
+ /** Where each gradient color sits, fractions from 0 to 1 separated by spaces; absent, evenly spaced. */
508
+ readonly gradientStops: string;
509
+ /**
510
+ * How the line's gradient runs: `linear` from the source end to the target end, `radial` out from the line's
511
+ * middle, or `none` for a line in its `color` (Cytoscape.js `line-fill`).
512
+ */
513
+ readonly gradientKind: string;
112
514
  /** The line width. */
113
515
  readonly width: number;
516
+ /**
517
+ * The fewest screen pixels wide the line is drawn, whatever its `width` comes to on screen (0 included): a screen
518
+ * size, not a length, so it is never scaled with the file's lengths (sigma.js's `minEdgeThickness`). Unset, the
519
+ * line is drawn at its width alone.
520
+ */
521
+ readonly minScreenWidth: number;
114
522
  /** The label's font size. */
115
523
  readonly labelSize: number;
116
- /** The arrow size as a factor: 1 is the writing tool's normal size. */
524
+ /** The arrow size as a factor: 1 is the writing tool's normal size. With `sourceArrowSize`, the target's alone. */
117
525
  readonly arrowSize: number;
526
+ /** The source end's arrow size, where the file sizes it apart from the target's: a factor as `arrowSize` is. */
527
+ readonly sourceArrowSize: number;
528
+ /**
529
+ * How long the source arrowhead is along its line, as a fraction of its shape's normal length in the writing
530
+ * tool: Cytoscape's DELTA_SHORT_1 is a `triangle` half as long as its DELTA (0.5).
531
+ */
532
+ readonly sourceArrowLength: number;
533
+ /** How long the target arrowhead is, as `sourceArrowLength` says. */
534
+ readonly targetArrowLength: number;
535
+ /**
536
+ * How wide the source arrowhead is across its line, as a fraction of its shape's normal width in the writing
537
+ * tool: Cytoscape's ARROW_SHORT is a `vee` 0.8 as wide as its ARROW.
538
+ */
539
+ readonly sourceArrowWidth: number;
540
+ /** How wide the target arrowhead is, as `sourceArrowWidth` says. */
541
+ readonly targetArrowWidth: number;
542
+ /**
543
+ * How far from its node the source arrowhead is drawn, the line stopping there too, as a multiple of the
544
+ * arrowhead's own length along its line: Cytoscape desktop draws its T bar 4 of its lengths off the node. Unset or
545
+ * 0, the arrowhead touches the node.
546
+ */
547
+ readonly sourceArrowGap: number;
548
+ /** How far from its node the target arrowhead is drawn, as `sourceArrowGap` says. */
549
+ readonly targetArrowGap: number;
550
+ /**
551
+ * The side of its line the source arrowhead is drawn on alone, cut along the line: `left` or `right` looking along
552
+ * the line toward the arrowhead's tip (Graphviz's `l` and `r` arrow modifiers: `lcrow`, `rdiamond`). Unset, the
553
+ * whole arrowhead.
554
+ */
555
+ readonly sourceArrowSide: StyleArrowSide;
556
+ /** The side of its line the target arrowhead is drawn on alone, as `sourceArrowSide` says. */
557
+ readonly targetArrowSide: StyleArrowSide;
558
+ /**
559
+ * Where along the line each arrowhead is drawn, as a fraction of the line measured from the arrow's own end: 0 (the
560
+ * default) at the end, 0.5 at the middle, at most 1.
561
+ */
562
+ readonly arrowPosition: number;
118
563
  /** The line style. */
119
564
  readonly lineStyle: StyleLineStyle;
565
+ /**
566
+ * How far a zigzag or sine-wave line swings to either side of its path (a length; Cytoscape desktop's strokes
567
+ * swing 10 px). With it, `width` is the thickness of the waving line.
568
+ */
569
+ readonly waveAmplitude: number;
570
+ /** How far along its path a zigzag or sine-wave line runs before it repeats (a length; Cytoscape's: 20 px). */
571
+ readonly wavePeriod: number;
120
572
  /** The arrow at the source end. */
121
573
  readonly sourceArrow: StyleArrowShape;
122
574
  /** The arrow at the target end. */
123
575
  readonly targetArrow: StyleArrowShape;
576
+ /**
577
+ * An arrow drawn at the middle of the line pointing toward the target, besides any at the ends (Cytoscape.js
578
+ * `mid-target-arrow-shape`, vis-network `arrows.middle`), sized as the target's arrow is.
579
+ */
580
+ readonly midTargetArrow: StyleArrowShape;
581
+ /** An arrow drawn at the middle of the line pointing toward the source (Cytoscape.js `mid-source-arrow-shape`). */
582
+ readonly midSourceArrow: StyleArrowShape;
583
+ /** The color of the arrow at the middle pointing toward the target. */
584
+ readonly midTargetArrowColor: StyleColor;
585
+ /** The color of the arrow at the middle pointing toward the source. */
586
+ readonly midSourceArrowColor: StyleColor;
587
+ /**
588
+ * The picture an `other:image` target arrow draws, a URL or a data URL (vis-network `arrows.to.src` of type
589
+ * `image`), standing on its line with its top edge across the arrow's point.
590
+ */
591
+ readonly targetArrowImage: string;
592
+ /** The picture an `other:image` source arrow draws, as `targetArrowImage` says. */
593
+ readonly sourceArrowImage: string;
594
+ /** The picture an `other:image` middle arrow pointing toward the target draws, as `targetArrowImage` says. */
595
+ readonly midTargetArrowImage: string;
596
+ /** How wide across its line an image target arrow is drawn (vis-network `imageWidth`); absent, its picture's own. */
597
+ readonly targetArrowImageWidth: number;
598
+ /** How long along its line an image target arrow is drawn (vis-network `imageHeight`); absent, its picture's own. */
599
+ readonly targetArrowImageHeight: number;
600
+ /** How wide an image source arrow is drawn, as `targetArrowImageWidth` says. */
601
+ readonly sourceArrowImageWidth: number;
602
+ /** How long an image source arrow is drawn, as `targetArrowImageHeight` says. */
603
+ readonly sourceArrowImageHeight: number;
604
+ /** How wide an image middle arrow is drawn, as `targetArrowImageWidth` says. */
605
+ readonly midTargetArrowImageWidth: number;
606
+ /** How long an image middle arrow is drawn, as `targetArrowImageHeight` says. */
607
+ readonly midTargetArrowImageHeight: number;
124
608
  /** Whether the edge is drawn curved. */
125
609
  readonly curved: boolean;
126
610
  /**
127
611
  * The points the edge's route passes through between its two nodes, each as `along,across` relative to the line
128
612
  * from the source node's center to the target's (`along` the fraction of the way along it, `across` the distance
129
613
  * to its left, y up, as a fraction of its length), separated by spaces: `"0,-0.5 1,-0.5"`. Drawn as straight
130
- * segments through them, with rounded corners when `curved`.
614
+ * segments through them, with rounded corners when `curved`. A self-loop has no line between two centers, so its
615
+ * points are written as `sourcePort` is, relative to its node's center and size.
131
616
  */
132
617
  readonly bends: string;
618
+ /**
619
+ * How far apart, at their middle, neighboring curved edges between the same two nodes are drawn (a length).
620
+ */
621
+ readonly fanSpacing: number;
622
+ /**
623
+ * Whether a curved edge is spread apart from the other curved edges between the same two nodes (true), or drawn
624
+ * as its own curve, bowing to the left of its direction whatever its siblings are (false, as Gephi draws them).
625
+ */
626
+ readonly fanned: boolean;
627
+ /**
628
+ * How a curved edge is drawn through its bends: `"corners"`, straight through each bend with its corner rounded,
629
+ * or `"midpoints"`, one smooth curve using the bends as control points, from the middle of each segment to the
630
+ * next and leaving each end along its first and last segments (Cytoscape desktop), or `"bezier"`, one Bezier curve
631
+ * whose control points are the bends (one: quadratic, two: cubic; vis-network's smooth edges), or `"arc"`, the arc
632
+ * of the circle through both ends and the one bend, which lies on it (yEd's arc edge).
633
+ */
634
+ readonly bendCurve: string;
635
+ /**
636
+ * A curved edge drawn as an arc of the circle through both node centers, whose radius is this many times the
637
+ * distance between them (Gephi: the distance over its arc curveness 1.2).
638
+ */
639
+ readonly arcRadius: number;
640
+ /**
641
+ * How far from each of its nodes' outlines the edge's line (and its arrowhead) stops, leaving that much empty
642
+ * (a length; Gephi's `edge.radius`).
643
+ */
644
+ readonly nodeGap: number;
645
+ /**
646
+ * Where the edge leaves its source node, when not at its center: `x,y` relative to the node's center as fractions
647
+ * of its half width and half height, y up (`"1,0"` is the middle of its right side, `"0,1"` of its top), so the
648
+ * point stays on the same spot of the node at any size. The line runs from that point instead of from where the
649
+ * line from the center crosses the node's outline.
650
+ */
651
+ readonly sourcePort: string;
652
+ /** Where the edge meets its target node, when not at its center: written as `sourcePort` is. */
653
+ readonly targetPort: string;
133
654
  /** The label text. */
134
655
  readonly label: string;
656
+ /**
657
+ * The label drawn in runs of styles of their own (a program's rich text: vis-network's multi-font labels), as a
658
+ * JSON array of runs left to right, each `{ "text": string, "weight"?: "bold", "italic"?: true, "font"?: string,
659
+ * "size"?: number, "color"?: "#rrggbb" }`; a run's `text` may hold line breaks. A run gives only what differs
660
+ * from the label's own font (`labelFont`, `labelSize`, `labelColor`, `labelWeight`,
661
+ * `labelItalic`). Its words, run after run, are `label`. Unset, the label is drawn in its own font throughout.
662
+ */
663
+ readonly labelRuns: string;
135
664
  /** The tooltip text. */
136
665
  readonly tooltip: string;
137
666
  /** The label's font family. */
138
667
  readonly labelFont: string;
139
668
  /** The label's font weight. */
140
669
  readonly labelWeight: StyleLabelWeight;
670
+ /** How the label's lines line up with one another; see the node's. */
671
+ readonly labelTextAlign: StyleLabelTextAlign;
141
672
  /** Whether the label is italic. */
142
673
  readonly labelItalic: boolean;
674
+ /** The width the label's lines wrap at (a length); see the node's. */
675
+ readonly labelWrapWidth: number;
676
+ /** Whether a line wider than `labelWrapWidth` is cut with an ellipsis; see the node's. */
677
+ readonly labelWrapEllipsis: boolean;
678
+ /** Whether a line may break between any two letters; see the node's. */
679
+ readonly labelWrapAnywhere: boolean;
680
+ /** How many blanks a blank between two words counts as against `labelWrapWidth`; see the node's. */
681
+ readonly labelWrapSpaceCount: number;
682
+ /**
683
+ * Where runs of different sizes in one line of `labelRuns` meet: `baseline` (their alphabetic baselines, the
684
+ * default), `hanging` (their hanging baselines, so their tops line up) or `middle` (their middles).
685
+ */
686
+ readonly labelRunAlign: string;
687
+ /** Where the label sits against the line's middle: `center` on the line, `top` above it. */
688
+ readonly labelPosition: StyleLabelPosition;
689
+ /** How far right of where `labelPosition` puts it the label is drawn (a length). */
690
+ readonly labelOffsetX: number;
691
+ /** How far down from where `labelPosition` puts it the label is drawn (a length). */
692
+ readonly labelOffsetY: number;
693
+ /** How far right the label is drawn again, as a fraction of its own width; see the node's. */
694
+ readonly labelShiftX: number;
695
+ /** How far down the label is drawn again, as a fraction of its own height; see the node's. */
696
+ readonly labelShiftY: number;
697
+ /** The opacity of the label's words, 0..1. */
698
+ readonly labelOpacity: number;
699
+ /** How far the label is turned, in degrees clockwise on screen, 0 up to 360; see the node's. */
700
+ readonly labelRotation: number;
701
+ /** The color of a box drawn behind the label's text; see the node's. */
702
+ readonly labelBackground: StyleColor;
703
+ /** The opacity of that box, 0..1. */
704
+ readonly labelBackgroundOpacity: number;
705
+ /** The color of an outline drawn round each letter of the label; see the node's. */
706
+ readonly labelOutlineColor: StyleColor;
707
+ /** How thick that outline is, in the units of `labelSize`; 0 draws none. */
708
+ readonly labelOutlineWidth: number;
709
+ /** The color of a line drawn round the box behind the label's words (yEd `lineColor`). */
710
+ readonly labelBorderColor: StyleColor;
711
+ /** How thick that line is, in the units of `labelSize`; 0 draws none. */
712
+ readonly labelBorderWidth: number;
713
+ /** How opaque the outline round the label's letters is, from 0 (none) to 1, over its color. Unset, 1. */
714
+ readonly labelOutlineOpacity: number;
715
+ /** How opaque the line round the box behind the label's words is, from 0 (none) to 1, over its color. Unset, 1. */
716
+ readonly labelBorderOpacity: number;
717
+ /**
718
+ * How far the box behind the label's words (its background and border) reaches past the words' line box on every
719
+ * side, in the units of `labelSize`; 0 puts the border against the words. Unset, the drawing program's default.
720
+ */
721
+ readonly labelPadding: number;
722
+ /** How far the corners of the box behind the label's words are rounded, in the units of `labelSize`. Unset, square. */
723
+ readonly labelCornerRadius: number;
724
+ /** How tall one line of the label is, as a multiple of its font's ascent plus descent. Unset, 1.2. */
725
+ readonly labelLineHeight: number;
143
726
  /** The label text at the source end. */
144
727
  readonly sourceLabel: string;
145
728
  /** The label text at the target end. */
146
729
  readonly targetLabel: string;
730
+ /**
731
+ * Where the source end's label sits: its middle on the line, this far along it from where the line leaves the
732
+ * source node (a length; Cytoscape.js `source-text-offset`). Absent, beside the end as the reader places it.
733
+ */
734
+ readonly sourceLabelOffset: number;
735
+ /** Where the target end's label sits, as `sourceLabelOffset` says, from where the line meets the target node. */
736
+ readonly targetLabelOffset: number;
737
+ /**
738
+ * How far the source end's label is moved right of where it sits, on the screen (a length; Cytoscape.js
739
+ * `source-text-margin-x`).
740
+ */
741
+ readonly sourceLabelOffsetX: number;
742
+ /** How far the source end's label is moved down, on the screen (a length; `source-text-margin-y`). */
743
+ readonly sourceLabelOffsetY: number;
744
+ /** How far the target end's label is moved right, on the screen (a length; `target-text-margin-x`). */
745
+ readonly targetLabelOffsetX: number;
746
+ /** How far the target end's label is moved down, on the screen (a length; `target-text-margin-y`). */
747
+ readonly targetLabelOffsetY: number;
748
+ /** How far the source end's label is turned, in degrees clockwise about its middle; unset, level. */
749
+ readonly sourceLabelRotation: number;
750
+ /** How far the target end's label is turned, in degrees clockwise about its middle; unset, level. */
751
+ readonly targetLabelRotation: number;
752
+ /** The label is not drawn while its letters are drawn smaller than this many screen pixels; see the node's. */
753
+ readonly labelMinScreenSize: number;
754
+ /** Whether the label is drawn over every node and edge; see the node's. */
755
+ readonly labelOnTop: boolean;
147
756
  /** Whether the edge is drawn at all. */
148
757
  readonly visible: boolean;
149
758
  }
@@ -344,6 +953,11 @@ export type Mapping = {
344
953
  readonly by: ColumnRef;
345
954
  /** The points, in increasing `at`. */
346
955
  readonly points: readonly ContinuousPoint[];
956
+ /**
957
+ * When set, a number the mapping gives is rounded to the nearest multiple of `step`, as the writing tool
958
+ * draws a property that holds whole numbers (Cytoscape's font size: 1; its 0..255 transparency: 1/255).
959
+ */
960
+ readonly step?: number;
347
961
  };
348
962
  /**
349
963
  * What a rule is: the defaults, a group, a data mapping, per-element copies or the exceptions on top. Open union.
@@ -368,8 +982,22 @@ export type StyleRuleReason =
368
982
  | "LAYER_CAP"
369
983
  /** Edges with no color of their own take their source node's color, as the writing tool draws them. */
370
984
  | "SOURCE_NODE_COLOR"
985
+ /** Edges with no color of their own take the mean of their two nodes' colors, as the writing tool draws them. */
986
+ | "END_NODES_COLOR"
987
+ /** Nodes with no border of their own get a border darker than their fill and scaled with their size, as the writing tool draws them. */
988
+ | "FILL_BORDER"
989
+ /** Nodes with no label size of their own get a label size scaled with their size, as the writing tool draws them. */
990
+ | "NODE_SIZE_LABEL"
371
991
  /** Edges with no width of their own are as thick as their weight, as the writing tool draws them. */
372
992
  | "EDGE_WEIGHT"
993
+ /** Edges with no color of their own take the mix of their two end nodes' colors, as the writing tool draws them. */
994
+ | "END_NODE_COLORS"
995
+ /** Nodes with no outline color of their own are outlined in a shade of their fill, as the writing tool draws them. */
996
+ | "NODE_FILL_SHADE"
997
+ /** The values are in proportion to each node's size, as the writing tool draws them (an outline, a label). */
998
+ | "NODE_SIZE"
999
+ /** The values follow the distance between the nodes the file places, as the writing tool draws them. */
1000
+ | "NODE_POSITIONS"
373
1001
  /** Nodes with no label of their own show their name, as the writing tool draws them (Graphviz's `\N`). */
374
1002
  | "NODE_NAME"
375
1003
  /** The file computes the value with a function; the drawn values are copied. */
@@ -681,6 +1309,11 @@ export interface StyleWriteCapabilities {
681
1309
  readonly edge: readonly EdgeStyleProperty[];
682
1310
  /** Graph properties written natively. */
683
1311
  readonly graph?: readonly GraphStyleProperty[];
1312
+ /**
1313
+ * The program that draws the files this writer writes, when there is one. A graph property the format has no
1314
+ * place for is not reported lost when its value is what that program draws anyway (its tool default).
1315
+ */
1316
+ readonly tool?: StyleTool;
684
1317
  /** Where the block and the tagged values go. */
685
1318
  readonly block: "native" | "attributes" | "none";
686
1319
  }