@graphty/graph-io 0.3.43 → 0.3.45
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.
- package/dist/chunks/approximations-DJMHdDvv.js +40 -0
- package/dist/chunks/approximations-DJMHdDvv.js.map +1 -0
- package/dist/chunks/block-CPCHkX42.js +2777 -0
- package/dist/chunks/block-CPCHkX42.js.map +1 -0
- package/dist/chunks/{choose-DvpbdRuz.js → choose--jM0yYCo.js} +3 -2
- package/dist/chunks/{choose-DvpbdRuz.js.map → choose--jM0yYCo.js.map} +1 -1
- package/dist/chunks/{constants-fT3E8JYY.js → constants-BKwqelYD.js} +6 -2
- package/dist/chunks/constants-BKwqelYD.js.map +1 -0
- package/dist/chunks/convert-BcQ8_jMo.js +59 -0
- package/dist/chunks/convert-BcQ8_jMo.js.map +1 -0
- package/dist/chunks/emit-DZy6JgdA.js +3456 -0
- package/dist/chunks/emit-DZy6JgdA.js.map +1 -0
- package/dist/chunks/{escape-B62ZGM_a.js → escape-CgzxiYPg.js} +44 -21
- package/dist/chunks/escape-CgzxiYPg.js.map +1 -0
- package/dist/chunks/{export-rKLeGQMo.js → export-BvqAXCKh.js} +196 -792
- package/dist/chunks/export-BvqAXCKh.js.map +1 -0
- package/dist/chunks/{exporter-yLxKBvLE.js → exporter--Mk9gXCJ.js} +4 -3
- package/dist/chunks/{exporter-yLxKBvLE.js.map → exporter--Mk9gXCJ.js.map} +1 -1
- package/dist/chunks/{exporter-RVtXVetw.js → exporter-C-9cgZKa.js} +1805 -287
- package/dist/chunks/exporter-C-9cgZKa.js.map +1 -0
- package/dist/chunks/{exporter-8hLNemFk.js → exporter-DFqJhBnj.js} +133 -74
- package/dist/chunks/exporter-DFqJhBnj.js.map +1 -0
- package/dist/chunks/{exporter-BWwEuOPT.js → exporter-DteVeJki.js} +22 -12
- package/dist/chunks/exporter-DteVeJki.js.map +1 -0
- package/dist/chunks/format-BpQBx8MZ.js +676 -0
- package/dist/chunks/format-BpQBx8MZ.js.map +1 -0
- package/dist/chunks/generic-BGO71QBv.js +1347 -0
- package/dist/chunks/generic-BGO71QBv.js.map +1 -0
- package/dist/chunks/{importer-C98dpSH4.js → importer-B-9Rc1zO.js} +141 -82
- package/dist/chunks/importer-B-9Rc1zO.js.map +1 -0
- package/dist/chunks/{importer-D794XUTe.js → importer-BVVR740x.js} +31 -8
- package/dist/chunks/importer-BVVR740x.js.map +1 -0
- package/dist/chunks/{importer-WrGRZb0N.js → importer-C0AjA3Ax.js} +449 -102
- package/dist/chunks/importer-C0AjA3Ax.js.map +1 -0
- package/dist/chunks/{importer-BbNb7eNg.js → importer-C7pvJe1L.js} +1398 -129
- package/dist/chunks/importer-C7pvJe1L.js.map +1 -0
- package/dist/chunks/{importer-xZ-3suY1.js → importer-ClwoVx3O.js} +791 -135
- package/dist/chunks/importer-ClwoVx3O.js.map +1 -0
- package/dist/chunks/{importer-Ht7LNg8L.js → importer-D0sC_6bO.js} +116 -296
- package/dist/chunks/importer-D0sC_6bO.js.map +1 -0
- package/dist/chunks/{importer-Dz7tI8Sa.js → importer-EHQk1jbM.js} +617 -115
- package/dist/chunks/importer-EHQk1jbM.js.map +1 -0
- package/dist/chunks/{json-elements-DKSqpNW1.js → json-elements-DJZRZ6jd.js} +123 -32
- package/dist/chunks/json-elements-DJZRZ6jd.js.map +1 -0
- package/dist/chunks/lexicon-WMsNddyU.js +509 -0
- package/dist/chunks/lexicon-WMsNddyU.js.map +1 -0
- package/dist/chunks/{ontology-export-CtRXjg_i.js → ontology-export-G4MqRdux.js} +3 -2
- package/dist/chunks/{ontology-export-CtRXjg_i.js.map → ontology-export-G4MqRdux.js.map} +1 -1
- package/dist/chunks/{records-Cu4bxYOm.js → records-CiaWZrFH.js} +2 -2
- package/dist/chunks/{records-Cu4bxYOm.js.map → records-CiaWZrFH.js.map} +1 -1
- package/dist/chunks/styles-DvoFBKCK.js +690 -0
- package/dist/chunks/styles-DvoFBKCK.js.map +1 -0
- package/dist/chunks/styles-yed-Cz9rLBCP.js +842 -0
- package/dist/chunks/styles-yed-Cz9rLBCP.js.map +1 -0
- package/dist/chunks/styles-zNTmz5R7.js +2102 -0
- package/dist/chunks/styles-zNTmz5R7.js.map +1 -0
- package/dist/chunks/{text-DHOJXnED.js → text-CzJNFOS9.js} +2 -2
- package/dist/chunks/{text-DHOJXnED.js.map → text-CzJNFOS9.js.map} +1 -1
- package/dist/chunks/units-XMZFIFe1.js +19 -0
- package/dist/chunks/units-XMZFIFe1.js.map +1 -0
- package/dist/chunks/writer-gQ8kx99H.js +448 -0
- package/dist/chunks/writer-gQ8kx99H.js.map +1 -0
- package/dist/csv.js +5 -4
- package/dist/csv.js.map +1 -1
- package/dist/cx.js +1 -1
- package/dist/cx2.js +2 -2
- package/dist/cys.js +1 -1
- package/dist/dot.js +5 -2
- package/dist/dot.js.map +1 -1
- package/dist/gexf.js +292 -412
- package/dist/gexf.js.map +1 -1
- package/dist/gml.js +927 -74
- package/dist/gml.js.map +1 -1
- package/dist/graph-io.js +351 -236
- package/dist/graph-io.js.map +1 -1
- package/dist/graphml.js +4 -2
- package/dist/graphml.js.map +1 -1
- package/dist/json.js +1 -1
- package/dist/neo4j.js +4 -3
- package/dist/neo4j.js.map +1 -1
- package/dist/obo.js +1 -1
- package/dist/pajek.js +4 -2
- package/dist/positions.d.ts +1 -0
- package/dist/positions.js +427 -0
- package/dist/positions.js.map +1 -0
- package/dist/src/common/codes.d.ts +6 -0
- package/dist/src/common/codes.d.ts.map +1 -1
- package/dist/src/common/codes.js +6 -0
- package/dist/src/common/codes.js.map +1 -1
- package/dist/src/common/escape.d.ts.map +1 -1
- package/dist/src/common/escape.js +4 -2
- package/dist/src/common/escape.js.map +1 -1
- package/dist/src/common/export.d.ts +10 -0
- package/dist/src/common/export.d.ts.map +1 -1
- package/dist/src/common/export.js +123 -100
- package/dist/src/common/export.js.map +1 -1
- package/dist/src/common/input.d.ts.map +1 -1
- package/dist/src/common/input.js +8 -1
- package/dist/src/common/input.js.map +1 -1
- package/dist/src/common/json-elements.d.ts +12 -9
- package/dist/src/common/json-elements.d.ts.map +1 -1
- package/dist/src/common/json-elements.js +160 -37
- package/dist/src/common/json-elements.js.map +1 -1
- package/dist/src/common/notes.d.ts +42 -0
- package/dist/src/common/notes.d.ts.map +1 -0
- package/dist/src/common/notes.js +72 -0
- package/dist/src/common/notes.js.map +1 -0
- package/dist/src/common/report.d.ts +18 -0
- package/dist/src/common/report.d.ts.map +1 -1
- package/dist/src/common/report.js +36 -1
- package/dist/src/common/report.js.map +1 -1
- package/dist/src/common/units.d.ts +24 -0
- package/dist/src/common/units.d.ts.map +1 -0
- package/dist/src/common/units.js +26 -0
- package/dist/src/common/units.js.map +1 -0
- package/dist/src/common/xml.d.ts +18 -0
- package/dist/src/common/xml.d.ts.map +1 -1
- package/dist/src/common/xml.js +42 -5
- package/dist/src/common/xml.js.map +1 -1
- package/dist/src/formats/cx/exporter.d.ts +6 -0
- package/dist/src/formats/cx/exporter.d.ts.map +1 -1
- package/dist/src/formats/cx/exporter.js +71 -8
- package/dist/src/formats/cx/exporter.js.map +1 -1
- package/dist/src/formats/cx/importer.d.ts +5 -2
- package/dist/src/formats/cx/importer.d.ts.map +1 -1
- package/dist/src/formats/cx/importer.js +102 -72
- package/dist/src/formats/cx/importer.js.map +1 -1
- package/dist/src/formats/cx/styles.d.ts +102 -0
- package/dist/src/formats/cx/styles.d.ts.map +1 -0
- package/dist/src/formats/cx/styles.js +225 -0
- package/dist/src/formats/cx/styles.js.map +1 -0
- package/dist/src/formats/cx2/exporter.d.ts +5 -0
- package/dist/src/formats/cx2/exporter.d.ts.map +1 -1
- package/dist/src/formats/cx2/exporter.js +181 -71
- package/dist/src/formats/cx2/exporter.js.map +1 -1
- package/dist/src/formats/cx2/importer.d.ts +4 -1
- package/dist/src/formats/cx2/importer.d.ts.map +1 -1
- package/dist/src/formats/cx2/importer.js +19 -1
- package/dist/src/formats/cx2/importer.js.map +1 -1
- package/dist/src/formats/cx2/styles.d.ts +18 -0
- package/dist/src/formats/cx2/styles.d.ts.map +1 -0
- package/dist/src/formats/cx2/styles.js +24 -0
- package/dist/src/formats/cx2/styles.js.map +1 -0
- package/dist/src/formats/cys/constants.d.ts +2 -0
- package/dist/src/formats/cys/constants.d.ts.map +1 -1
- package/dist/src/formats/cys/constants.js +2 -0
- package/dist/src/formats/cys/constants.js.map +1 -1
- package/dist/src/formats/cys/exporter.d.ts +6 -2
- package/dist/src/formats/cys/exporter.d.ts.map +1 -1
- package/dist/src/formats/cys/exporter.js +215 -53
- package/dist/src/formats/cys/exporter.js.map +1 -1
- package/dist/src/formats/cys/importer.d.ts +2 -1
- package/dist/src/formats/cys/importer.d.ts.map +1 -1
- package/dist/src/formats/cys/importer.js +119 -6
- package/dist/src/formats/cys/importer.js.map +1 -1
- package/dist/src/formats/cys/session.d.ts +2 -0
- package/dist/src/formats/cys/session.d.ts.map +1 -1
- package/dist/src/formats/cys/session.js +5 -0
- package/dist/src/formats/cys/session.js.map +1 -1
- package/dist/src/formats/cys/styles.d.ts +38 -0
- package/dist/src/formats/cys/styles.d.ts.map +1 -0
- package/dist/src/formats/cys/styles.js +213 -0
- package/dist/src/formats/cys/styles.js.map +1 -0
- package/dist/src/formats/cys/tables.d.ts +8 -3
- package/dist/src/formats/cys/tables.d.ts.map +1 -1
- package/dist/src/formats/cys/tables.js +88 -34
- package/dist/src/formats/cys/tables.js.map +1 -1
- package/dist/src/formats/dot/exporter.d.ts +2 -0
- package/dist/src/formats/dot/exporter.d.ts.map +1 -1
- package/dist/src/formats/dot/exporter.js +195 -81
- package/dist/src/formats/dot/exporter.js.map +1 -1
- package/dist/src/formats/dot/importer.d.ts.map +1 -1
- package/dist/src/formats/dot/importer.js +100 -20
- package/dist/src/formats/dot/importer.js.map +1 -1
- package/dist/src/formats/dot/index.d.ts +1 -0
- package/dist/src/formats/dot/index.d.ts.map +1 -1
- package/dist/src/formats/dot/index.js +1 -0
- package/dist/src/formats/dot/index.js.map +1 -1
- package/dist/src/formats/dot/positions.d.ts +14 -0
- package/dist/src/formats/dot/positions.d.ts.map +1 -0
- package/dist/src/formats/dot/positions.js +70 -0
- package/dist/src/formats/dot/positions.js.map +1 -0
- package/dist/src/formats/dot/styles.d.ts +82 -0
- package/dist/src/formats/dot/styles.d.ts.map +1 -0
- package/dist/src/formats/dot/styles.js +1496 -0
- package/dist/src/formats/dot/styles.js.map +1 -0
- package/dist/src/formats/gexf/exporter.d.ts.map +1 -1
- package/dist/src/formats/gexf/exporter.js +20 -5
- package/dist/src/formats/gexf/exporter.js.map +1 -1
- package/dist/src/formats/gexf/importer.d.ts +8 -1
- package/dist/src/formats/gexf/importer.d.ts.map +1 -1
- package/dist/src/formats/gexf/importer.js +251 -131
- package/dist/src/formats/gexf/importer.js.map +1 -1
- package/dist/src/formats/gexf/index.d.ts +8 -0
- package/dist/src/formats/gexf/index.d.ts.map +1 -1
- package/dist/src/formats/gexf/index.js +10 -2
- package/dist/src/formats/gexf/index.js.map +1 -1
- package/dist/src/formats/gexf/schema.d.ts +5 -0
- package/dist/src/formats/gexf/schema.d.ts.map +1 -1
- package/dist/src/formats/gexf/schema.js +5 -0
- package/dist/src/formats/gexf/schema.js.map +1 -1
- package/dist/src/formats/gexf/styles.d.ts +74 -0
- package/dist/src/formats/gexf/styles.d.ts.map +1 -0
- package/dist/src/formats/gexf/styles.js +604 -0
- package/dist/src/formats/gexf/styles.js.map +1 -0
- package/dist/src/formats/gml/exporter.d.ts +1 -5
- package/dist/src/formats/gml/exporter.d.ts.map +1 -1
- package/dist/src/formats/gml/exporter.js +19 -8
- package/dist/src/formats/gml/exporter.js.map +1 -1
- package/dist/src/formats/gml/importer.d.ts.map +1 -1
- package/dist/src/formats/gml/importer.js +4 -0
- package/dist/src/formats/gml/importer.js.map +1 -1
- package/dist/src/formats/gml/index.d.ts +2 -1
- package/dist/src/formats/gml/index.d.ts.map +1 -1
- package/dist/src/formats/gml/index.js +2 -1
- package/dist/src/formats/gml/index.js.map +1 -1
- package/dist/src/formats/gml/positions.d.ts +14 -0
- package/dist/src/formats/gml/positions.d.ts.map +1 -0
- package/dist/src/formats/gml/positions.js +46 -0
- package/dist/src/formats/gml/positions.js.map +1 -0
- package/dist/src/formats/gml/styles.d.ts +59 -0
- package/dist/src/formats/gml/styles.d.ts.map +1 -0
- package/dist/src/formats/gml/styles.js +1056 -0
- package/dist/src/formats/gml/styles.js.map +1 -0
- package/dist/src/formats/gml/syntax.d.ts +11 -0
- package/dist/src/formats/gml/syntax.d.ts.map +1 -1
- package/dist/src/formats/gml/syntax.js +151 -62
- package/dist/src/formats/gml/syntax.js.map +1 -1
- package/dist/src/formats/graphml/constants.d.ts +4 -0
- package/dist/src/formats/graphml/constants.d.ts.map +1 -1
- package/dist/src/formats/graphml/constants.js +5 -1
- package/dist/src/formats/graphml/constants.js.map +1 -1
- package/dist/src/formats/graphml/exporter.d.ts.map +1 -1
- package/dist/src/formats/graphml/exporter.js +133 -65
- package/dist/src/formats/graphml/exporter.js.map +1 -1
- package/dist/src/formats/graphml/importer.d.ts +4 -1
- package/dist/src/formats/graphml/importer.d.ts.map +1 -1
- package/dist/src/formats/graphml/importer.js +100 -44
- package/dist/src/formats/graphml/importer.js.map +1 -1
- package/dist/src/formats/graphml/index.d.ts +1 -0
- package/dist/src/formats/graphml/index.d.ts.map +1 -1
- package/dist/src/formats/graphml/index.js +1 -0
- package/dist/src/formats/graphml/index.js.map +1 -1
- package/dist/src/formats/graphml/styles-plain.d.ts +19 -0
- package/dist/src/formats/graphml/styles-plain.d.ts.map +1 -0
- package/dist/src/formats/graphml/styles-plain.js +187 -0
- package/dist/src/formats/graphml/styles-plain.js.map +1 -0
- package/dist/src/formats/graphml/styles-yed.d.ts +179 -0
- package/dist/src/formats/graphml/styles-yed.d.ts.map +1 -0
- package/dist/src/formats/graphml/styles-yed.js +1086 -0
- package/dist/src/formats/graphml/styles-yed.js.map +1 -0
- package/dist/src/formats/graphml/styles-yfiles3.d.ts +19 -0
- package/dist/src/formats/graphml/styles-yfiles3.d.ts.map +1 -0
- package/dist/src/formats/graphml/styles-yfiles3.js +508 -0
- package/dist/src/formats/graphml/styles-yfiles3.js.map +1 -0
- package/dist/src/formats/graphml/tree.d.ts.map +1 -1
- package/dist/src/formats/graphml/tree.js +34 -19
- package/dist/src/formats/graphml/tree.js.map +1 -1
- package/dist/src/formats/graphml/yfiles.d.ts +16 -2
- package/dist/src/formats/graphml/yfiles.d.ts.map +1 -1
- package/dist/src/formats/graphml/yfiles.js +83 -12
- package/dist/src/formats/graphml/yfiles.js.map +1 -1
- package/dist/src/formats/json/exporter.d.ts +5 -0
- package/dist/src/formats/json/exporter.d.ts.map +1 -1
- package/dist/src/formats/json/exporter.js +68 -25
- package/dist/src/formats/json/exporter.js.map +1 -1
- package/dist/src/formats/json/importer.d.ts +22 -3
- package/dist/src/formats/json/importer.d.ts.map +1 -1
- package/dist/src/formats/json/importer.js +439 -264
- package/dist/src/formats/json/importer.js.map +1 -1
- package/dist/src/formats/json/positions.d.ts +16 -0
- package/dist/src/formats/json/positions.d.ts.map +1 -0
- package/dist/src/formats/json/positions.js +44 -0
- package/dist/src/formats/json/positions.js.map +1 -0
- package/dist/src/formats/json/styles.d.ts +102 -0
- package/dist/src/formats/json/styles.d.ts.map +1 -0
- package/dist/src/formats/json/styles.js +1753 -0
- package/dist/src/formats/json/styles.js.map +1 -0
- package/dist/src/formats/neo4j/exporter.d.ts.map +1 -1
- package/dist/src/formats/neo4j/exporter.js +2 -1
- package/dist/src/formats/neo4j/exporter.js.map +1 -1
- package/dist/src/formats/pajek/exporter.d.ts +2 -0
- package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
- package/dist/src/formats/pajek/exporter.js +142 -76
- package/dist/src/formats/pajek/exporter.js.map +1 -1
- package/dist/src/formats/pajek/importer.d.ts +4 -0
- package/dist/src/formats/pajek/importer.d.ts.map +1 -1
- package/dist/src/formats/pajek/importer.js +60 -6
- package/dist/src/formats/pajek/importer.js.map +1 -1
- package/dist/src/formats/pajek/index.d.ts +2 -0
- package/dist/src/formats/pajek/index.d.ts.map +1 -1
- package/dist/src/formats/pajek/index.js +2 -0
- package/dist/src/formats/pajek/index.js.map +1 -1
- package/dist/src/formats/pajek/styles.d.ts +50 -0
- package/dist/src/formats/pajek/styles.d.ts.map +1 -0
- package/dist/src/formats/pajek/styles.js +569 -0
- package/dist/src/formats/pajek/styles.js.map +1 -0
- package/dist/src/formats/pajek/syntax.d.ts +6 -0
- package/dist/src/formats/pajek/syntax.d.ts.map +1 -1
- package/dist/src/formats/pajek/syntax.js +6 -0
- package/dist/src/formats/pajek/syntax.js.map +1 -1
- package/dist/src/formats/xgmml/columns.d.ts.map +1 -1
- package/dist/src/formats/xgmml/columns.js +34 -9
- package/dist/src/formats/xgmml/columns.js.map +1 -1
- package/dist/src/formats/xgmml/constants.d.ts +2 -0
- package/dist/src/formats/xgmml/constants.d.ts.map +1 -1
- package/dist/src/formats/xgmml/constants.js +3 -1
- package/dist/src/formats/xgmml/constants.js.map +1 -1
- package/dist/src/formats/xgmml/document.d.ts +12 -8
- package/dist/src/formats/xgmml/document.d.ts.map +1 -1
- package/dist/src/formats/xgmml/document.js +56 -13
- package/dist/src/formats/xgmml/document.js.map +1 -1
- package/dist/src/formats/xgmml/emit.d.ts.map +1 -1
- package/dist/src/formats/xgmml/emit.js +12 -6
- package/dist/src/formats/xgmml/emit.js.map +1 -1
- package/dist/src/formats/xgmml/exporter.d.ts +3 -1
- package/dist/src/formats/xgmml/exporter.d.ts.map +1 -1
- package/dist/src/formats/xgmml/exporter.js +22 -9
- package/dist/src/formats/xgmml/exporter.js.map +1 -1
- package/dist/src/formats/xgmml/importer.d.ts +2 -1
- package/dist/src/formats/xgmml/importer.d.ts.map +1 -1
- package/dist/src/formats/xgmml/importer.js +31 -24
- package/dist/src/formats/xgmml/importer.js.map +1 -1
- package/dist/src/formats/xgmml/styles.d.ts +104 -0
- package/dist/src/formats/xgmml/styles.d.ts.map +1 -0
- package/dist/src/formats/xgmml/styles.js +310 -0
- package/dist/src/formats/xgmml/styles.js.map +1 -0
- package/dist/src/index.d.ts +9 -7
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +7 -7
- package/dist/src/index.js.map +1 -1
- package/dist/src/positions/codes.d.ts +31 -0
- package/dist/src/positions/codes.d.ts.map +1 -0
- package/dist/src/positions/codes.js +26 -0
- package/dist/src/positions/codes.js.map +1 -0
- package/dist/src/positions/convert.d.ts +58 -0
- package/dist/src/positions/convert.d.ts.map +1 -0
- package/dist/src/positions/convert.js +107 -0
- package/dist/src/positions/convert.js.map +1 -0
- package/dist/src/positions/extract.d.ts +27 -0
- package/dist/src/positions/extract.d.ts.map +1 -0
- package/dist/src/positions/extract.js +526 -0
- package/dist/src/positions/extract.js.map +1 -0
- package/dist/src/positions/index.d.ts +10 -0
- package/dist/src/positions/index.d.ts.map +1 -0
- package/dist/src/positions/index.js +9 -0
- package/dist/src/positions/index.js.map +1 -0
- package/dist/src/positions/types.d.ts +208 -0
- package/dist/src/positions/types.d.ts.map +1 -0
- package/dist/src/positions/types.js +10 -0
- package/dist/src/positions/types.js.map +1 -0
- package/dist/src/registry.d.ts +30 -0
- package/dist/src/registry.d.ts.map +1 -1
- package/dist/src/registry.js +130 -9
- package/dist/src/registry.js.map +1 -1
- package/dist/src/styles/annotations.d.ts +132 -0
- package/dist/src/styles/annotations.d.ts.map +1 -0
- package/dist/src/styles/annotations.js +320 -0
- package/dist/src/styles/annotations.js.map +1 -0
- package/dist/src/styles/budget.d.ts +45 -0
- package/dist/src/styles/budget.d.ts.map +1 -0
- package/dist/src/styles/budget.js +58 -0
- package/dist/src/styles/budget.js.map +1 -0
- package/dist/src/styles/canon/bends.d.ts +32 -0
- package/dist/src/styles/canon/bends.d.ts.map +1 -0
- package/dist/src/styles/canon/bends.js +74 -0
- package/dist/src/styles/canon/bends.js.map +1 -0
- package/dist/src/styles/canon/color-tables.d.ts +22 -0
- package/dist/src/styles/canon/color-tables.d.ts.map +1 -0
- package/dist/src/styles/canon/color-tables.js +369 -0
- package/dist/src/styles/canon/color-tables.js.map +1 -0
- package/dist/src/styles/canon/color.d.ts +66 -0
- package/dist/src/styles/canon/color.d.ts.map +1 -0
- package/dist/src/styles/canon/color.js +548 -0
- package/dist/src/styles/canon/color.js.map +1 -0
- package/dist/src/styles/canon/enums.d.ts +25 -0
- package/dist/src/styles/canon/enums.d.ts.map +1 -0
- package/dist/src/styles/canon/enums.js +187 -0
- package/dist/src/styles/canon/enums.js.map +1 -0
- package/dist/src/styles/canon/graphviz.d.ts +48 -0
- package/dist/src/styles/canon/graphviz.d.ts.map +1 -0
- package/dist/src/styles/canon/graphviz.js +160 -0
- package/dist/src/styles/canon/graphviz.js.map +1 -0
- package/dist/src/styles/canon/index.d.ts +13 -0
- package/dist/src/styles/canon/index.d.ts.map +1 -0
- package/dist/src/styles/canon/index.js +13 -0
- package/dist/src/styles/canon/index.js.map +1 -0
- package/dist/src/styles/canon/number.d.ts +59 -0
- package/dist/src/styles/canon/number.d.ts.map +1 -0
- package/dist/src/styles/canon/number.js +142 -0
- package/dist/src/styles/canon/number.js.map +1 -0
- package/dist/src/styles/canon/site.d.ts +51 -0
- package/dist/src/styles/canon/site.d.ts.map +1 -0
- package/dist/src/styles/canon/site.js +63 -0
- package/dist/src/styles/canon/site.js.map +1 -0
- package/dist/src/styles/canon/text.d.ts +61 -0
- package/dist/src/styles/canon/text.d.ts.map +1 -0
- package/dist/src/styles/canon/text.js +199 -0
- package/dist/src/styles/canon/text.js.map +1 -0
- package/dist/src/styles/codes.d.ts +95 -0
- package/dist/src/styles/codes.d.ts.map +1 -0
- package/dist/src/styles/codes.js +97 -0
- package/dist/src/styles/codes.js.map +1 -0
- package/dist/src/styles/cyjs/cascade.d.ts +134 -0
- package/dist/src/styles/cyjs/cascade.d.ts.map +1 -0
- package/dist/src/styles/cyjs/cascade.js +2252 -0
- package/dist/src/styles/cyjs/cascade.js.map +1 -0
- package/dist/src/styles/cyjs/defaults-table.d.ts +25 -0
- package/dist/src/styles/cyjs/defaults-table.d.ts.map +1 -0
- package/dist/src/styles/cyjs/defaults-table.js +76 -0
- package/dist/src/styles/cyjs/defaults-table.js.map +1 -0
- package/dist/src/styles/cyjs/emit.d.ts +82 -0
- package/dist/src/styles/cyjs/emit.d.ts.map +1 -0
- package/dist/src/styles/cyjs/emit.js +791 -0
- package/dist/src/styles/cyjs/emit.js.map +1 -0
- package/dist/src/styles/cyjs/index.d.ts +13 -0
- package/dist/src/styles/cyjs/index.d.ts.map +1 -0
- package/dist/src/styles/cyjs/index.js +13 -0
- package/dist/src/styles/cyjs/index.js.map +1 -0
- package/dist/src/styles/cyjs/live.d.ts +46 -0
- package/dist/src/styles/cyjs/live.d.ts.map +1 -0
- package/dist/src/styles/cyjs/live.js +108 -0
- package/dist/src/styles/cyjs/live.js.map +1 -0
- package/dist/src/styles/cyjs/mappers.d.ts +147 -0
- package/dist/src/styles/cyjs/mappers.d.ts.map +1 -0
- package/dist/src/styles/cyjs/mappers.js +744 -0
- package/dist/src/styles/cyjs/mappers.js.map +1 -0
- package/dist/src/styles/cyjs/selector.d.ts +113 -0
- package/dist/src/styles/cyjs/selector.d.ts.map +1 -0
- package/dist/src/styles/cyjs/selector.js +611 -0
- package/dist/src/styles/cyjs/selector.js.map +1 -0
- package/dist/src/styles/cyjs/stylesheet-text.d.ts +37 -0
- package/dist/src/styles/cyjs/stylesheet-text.d.ts.map +1 -0
- package/dist/src/styles/cyjs/stylesheet-text.js +181 -0
- package/dist/src/styles/cyjs/stylesheet-text.js.map +1 -0
- package/dist/src/styles/cytoscape/emit.d.ts +125 -0
- package/dist/src/styles/cytoscape/emit.d.ts.map +1 -0
- package/dist/src/styles/cytoscape/emit.js +1025 -0
- package/dist/src/styles/cytoscape/emit.js.map +1 -0
- package/dist/src/styles/cytoscape/index.d.ts +10 -0
- package/dist/src/styles/cytoscape/index.d.ts.map +1 -0
- package/dist/src/styles/cytoscape/index.js +10 -0
- package/dist/src/styles/cytoscape/index.js.map +1 -0
- package/dist/src/styles/cytoscape/lexicon.d.ts +49 -0
- package/dist/src/styles/cytoscape/lexicon.d.ts.map +1 -0
- package/dist/src/styles/cytoscape/lexicon.js +605 -0
- package/dist/src/styles/cytoscape/lexicon.js.map +1 -0
- package/dist/src/styles/cytoscape/mappings.d.ts +171 -0
- package/dist/src/styles/cytoscape/mappings.d.ts.map +1 -0
- package/dist/src/styles/cytoscape/mappings.js +460 -0
- package/dist/src/styles/cytoscape/mappings.js.map +1 -0
- package/dist/src/styles/cytoscape/resolve.d.ts +137 -0
- package/dist/src/styles/cytoscape/resolve.d.ts.map +1 -0
- package/dist/src/styles/cytoscape/resolve.js +381 -0
- package/dist/src/styles/cytoscape/resolve.js.map +1 -0
- package/dist/src/styles/cytoscape/translate.d.ts +50 -0
- package/dist/src/styles/cytoscape/translate.d.ts.map +1 -0
- package/dist/src/styles/cytoscape/translate.js +156 -0
- package/dist/src/styles/cytoscape/translate.js.map +1 -0
- package/dist/src/styles/defaults.d.ts +90 -0
- package/dist/src/styles/defaults.d.ts.map +1 -0
- package/dist/src/styles/defaults.js +414 -0
- package/dist/src/styles/defaults.js.map +1 -0
- package/dist/src/styles/index.d.ts +15 -0
- package/dist/src/styles/index.d.ts.map +1 -0
- package/dist/src/styles/index.js +14 -0
- package/dist/src/styles/index.js.map +1 -0
- package/dist/src/styles/internal.d.ts +17 -0
- package/dist/src/styles/internal.d.ts.map +1 -0
- package/dist/src/styles/internal.js +16 -0
- package/dist/src/styles/internal.js.map +1 -0
- package/dist/src/styles/io/approximations.d.ts +24 -0
- package/dist/src/styles/io/approximations.d.ts.map +1 -0
- package/dist/src/styles/io/approximations.js +51 -0
- package/dist/src/styles/io/approximations.js.map +1 -0
- package/dist/src/styles/io/block.d.ts +166 -0
- package/dist/src/styles/io/block.d.ts.map +1 -0
- package/dist/src/styles/io/block.js +930 -0
- package/dist/src/styles/io/block.js.map +1 -0
- package/dist/src/styles/io/generic.d.ts +88 -0
- package/dist/src/styles/io/generic.d.ts.map +1 -0
- package/dist/src/styles/io/generic.js +516 -0
- package/dist/src/styles/io/generic.js.map +1 -0
- package/dist/src/styles/io/index.d.ts +8 -0
- package/dist/src/styles/io/index.d.ts.map +1 -0
- package/dist/src/styles/io/index.js +7 -0
- package/dist/src/styles/io/index.js.map +1 -0
- package/dist/src/styles/io/writer.d.ts +89 -0
- package/dist/src/styles/io/writer.d.ts.map +1 -0
- package/dist/src/styles/io/writer.js +626 -0
- package/dist/src/styles/io/writer.js.map +1 -0
- package/dist/src/styles/notes.d.ts +47 -0
- package/dist/src/styles/notes.d.ts.map +1 -0
- package/dist/src/styles/notes.js +140 -0
- package/dist/src/styles/notes.js.map +1 -0
- package/dist/src/styles/plan/classes.d.ts +31 -0
- package/dist/src/styles/plan/classes.d.ts.map +1 -0
- package/dist/src/styles/plan/classes.js +139 -0
- package/dist/src/styles/plan/classes.js.map +1 -0
- package/dist/src/styles/plan/continuous.d.ts +32 -0
- package/dist/src/styles/plan/continuous.d.ts.map +1 -0
- package/dist/src/styles/plan/continuous.js +165 -0
- package/dist/src/styles/plan/continuous.js.map +1 -0
- package/dist/src/styles/plan/discrete.d.ts +39 -0
- package/dist/src/styles/plan/discrete.d.ts.map +1 -0
- package/dist/src/styles/plan/discrete.js +127 -0
- package/dist/src/styles/plan/discrete.js.map +1 -0
- package/dist/src/styles/plan/families.d.ts +31 -0
- package/dist/src/styles/plan/families.d.ts.map +1 -0
- package/dist/src/styles/plan/families.js +95 -0
- package/dist/src/styles/plan/families.js.map +1 -0
- package/dist/src/styles/plan/features.d.ts +58 -0
- package/dist/src/styles/plan/features.d.ts.map +1 -0
- package/dist/src/styles/plan/features.js +185 -0
- package/dist/src/styles/plan/features.js.map +1 -0
- package/dist/src/styles/plan/index.d.ts +7 -0
- package/dist/src/styles/plan/index.d.ts.map +1 -0
- package/dist/src/styles/plan/index.js +7 -0
- package/dist/src/styles/plan/index.js.map +1 -0
- package/dist/src/styles/plan/plan.d.ts +71 -0
- package/dist/src/styles/plan/plan.d.ts.map +1 -0
- package/dist/src/styles/plan/plan.js +893 -0
- package/dist/src/styles/plan/plan.js.map +1 -0
- package/dist/src/styles/plan/resolve.d.ts +137 -0
- package/dist/src/styles/plan/resolve.d.ts.map +1 -0
- package/dist/src/styles/plan/resolve.js +587 -0
- package/dist/src/styles/plan/resolve.js.map +1 -0
- package/dist/src/styles/types.d.ts +702 -0
- package/dist/src/styles/types.d.ts.map +1 -0
- package/dist/src/styles/types.js +10 -0
- package/dist/src/styles/types.js.map +1 -0
- package/dist/src/styles/vocabulary.d.ts +41 -0
- package/dist/src/styles/vocabulary.d.ts.map +1 -0
- package/dist/src/styles/vocabulary.js +140 -0
- package/dist/src/styles/vocabulary.js.map +1 -0
- package/dist/src/types.d.ts +64 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/styles.d.ts +1 -0
- package/dist/styles.js +322 -0
- package/dist/styles.js.map +1 -0
- package/dist/xgmml.js +5 -4
- package/dist/xgmml.js.map +1 -1
- package/package.json +13 -2
- package/src/common/codes.ts +7 -0
- package/src/common/escape.ts +5 -2
- package/src/common/export.ts +179 -140
- package/src/common/input.ts +8 -4
- package/src/common/json-elements.ts +169 -38
- package/src/common/notes.ts +94 -0
- package/src/common/report.ts +41 -1
- package/src/common/units.ts +42 -0
- package/src/common/xml.ts +45 -5
- package/src/formats/cx/exporter.ts +95 -11
- package/src/formats/cx/importer.ts +126 -90
- package/src/formats/cx/styles.ts +304 -0
- package/src/formats/cx2/exporter.ts +234 -77
- package/src/formats/cx2/importer.ts +19 -1
- package/src/formats/cx2/styles.ts +29 -0
- package/src/formats/cys/constants.ts +3 -0
- package/src/formats/cys/exporter.ts +246 -60
- package/src/formats/cys/importer.ts +125 -9
- package/src/formats/cys/session.ts +6 -0
- package/src/formats/cys/styles.ts +254 -0
- package/src/formats/cys/tables.ts +117 -48
- package/src/formats/dot/exporter.ts +262 -126
- package/src/formats/dot/importer.ts +111 -20
- package/src/formats/dot/index.ts +1 -0
- package/src/formats/dot/positions.ts +77 -0
- package/src/formats/dot/styles.ts +1755 -0
- package/src/formats/gexf/exporter.ts +27 -11
- package/src/formats/gexf/importer.ts +308 -158
- package/src/formats/gexf/index.ts +10 -0
- package/src/formats/gexf/schema.ts +5 -0
- package/src/formats/gexf/styles.ts +719 -0
- package/src/formats/gml/exporter.ts +33 -14
- package/src/formats/gml/importer.ts +4 -0
- package/src/formats/gml/index.ts +2 -1
- package/src/formats/gml/positions.ts +52 -0
- package/src/formats/gml/styles.ts +1248 -0
- package/src/formats/gml/syntax.ts +173 -62
- package/src/formats/graphml/constants.ts +5 -0
- package/src/formats/graphml/exporter.ts +163 -71
- package/src/formats/graphml/importer.ts +119 -45
- package/src/formats/graphml/index.ts +1 -0
- package/src/formats/graphml/styles-plain.ts +236 -0
- package/src/formats/graphml/styles-yed.ts +1221 -0
- package/src/formats/graphml/styles-yfiles3.ts +573 -0
- package/src/formats/graphml/tree.ts +36 -20
- package/src/formats/graphml/yfiles.ts +89 -13
- package/src/formats/json/exporter.ts +76 -26
- package/src/formats/json/importer.ts +541 -322
- package/src/formats/json/positions.ts +50 -0
- package/src/formats/json/styles.ts +2082 -0
- package/src/formats/neo4j/exporter.ts +2 -1
- package/src/formats/pajek/exporter.ts +195 -106
- package/src/formats/pajek/importer.ts +78 -9
- package/src/formats/pajek/index.ts +2 -0
- package/src/formats/pajek/styles.ts +685 -0
- package/src/formats/pajek/syntax.ts +7 -0
- package/src/formats/xgmml/columns.ts +39 -9
- package/src/formats/xgmml/constants.ts +3 -0
- package/src/formats/xgmml/document.ts +54 -12
- package/src/formats/xgmml/emit.ts +11 -6
- package/src/formats/xgmml/exporter.ts +32 -13
- package/src/formats/xgmml/importer.ts +43 -29
- package/src/formats/xgmml/styles.ts +400 -0
- package/src/index.ts +16 -0
- package/src/positions/codes.ts +32 -0
- package/src/positions/convert.ts +123 -0
- package/src/positions/extract.ts +619 -0
- package/src/positions/index.ts +23 -0
- package/src/positions/types.ts +221 -0
- package/src/registry.ts +179 -8
- package/src/styles/annotations.ts +478 -0
- package/src/styles/budget.ts +60 -0
- package/src/styles/canon/bends.ts +84 -0
- package/src/styles/canon/color-tables.ts +386 -0
- package/src/styles/canon/color.ts +624 -0
- package/src/styles/canon/enums.ts +211 -0
- package/src/styles/canon/graphviz.ts +189 -0
- package/src/styles/canon/index.ts +13 -0
- package/src/styles/canon/number.ts +152 -0
- package/src/styles/canon/site.ts +87 -0
- package/src/styles/canon/text.ts +221 -0
- package/src/styles/codes.ts +104 -0
- package/src/styles/cyjs/cascade.ts +2670 -0
- package/src/styles/cyjs/defaults-table.ts +82 -0
- package/src/styles/cyjs/emit.ts +952 -0
- package/src/styles/cyjs/index.ts +37 -0
- package/src/styles/cyjs/live.ts +147 -0
- package/src/styles/cyjs/mappers.ts +879 -0
- package/src/styles/cyjs/selector.ts +778 -0
- package/src/styles/cyjs/stylesheet-text.ts +214 -0
- package/src/styles/cytoscape/emit.ts +1264 -0
- package/src/styles/cytoscape/index.ts +40 -0
- package/src/styles/cytoscape/lexicon.ts +658 -0
- package/src/styles/cytoscape/mappings.ts +603 -0
- package/src/styles/cytoscape/resolve.ts +521 -0
- package/src/styles/cytoscape/translate.ts +237 -0
- package/src/styles/defaults.ts +504 -0
- package/src/styles/index.ts +57 -0
- package/src/styles/internal.ts +17 -0
- package/src/styles/io/approximations.ts +47 -0
- package/src/styles/io/block.ts +1138 -0
- package/src/styles/io/generic.ts +687 -0
- package/src/styles/io/index.ts +18 -0
- package/src/styles/io/writer.ts +780 -0
- package/src/styles/notes.ts +165 -0
- package/src/styles/plan/classes.ts +166 -0
- package/src/styles/plan/continuous.ts +218 -0
- package/src/styles/plan/discrete.ts +165 -0
- package/src/styles/plan/families.ts +115 -0
- package/src/styles/plan/features.ts +234 -0
- package/src/styles/plan/index.ts +7 -0
- package/src/styles/plan/plan.ts +1129 -0
- package/src/styles/plan/resolve.ts +685 -0
- package/src/styles/types.ts +814 -0
- package/src/styles/vocabulary.ts +172 -0
- package/src/types.ts +76 -1
- package/dist/chunks/constants-fT3E8JYY.js.map +0 -1
- package/dist/chunks/escape-B62ZGM_a.js.map +0 -1
- package/dist/chunks/export-rKLeGQMo.js.map +0 -1
- package/dist/chunks/exporter-8hLNemFk.js.map +0 -1
- package/dist/chunks/exporter-BWwEuOPT.js.map +0 -1
- package/dist/chunks/exporter-RVtXVetw.js.map +0 -1
- package/dist/chunks/importer-BbNb7eNg.js.map +0 -1
- package/dist/chunks/importer-C98dpSH4.js.map +0 -1
- package/dist/chunks/importer-D794XUTe.js.map +0 -1
- package/dist/chunks/importer-Dz7tI8Sa.js.map +0 -1
- package/dist/chunks/importer-Ht7LNg8L.js.map +0 -1
- package/dist/chunks/importer-WrGRZb0N.js.map +0 -1
- package/dist/chunks/importer-xZ-3suY1.js.map +0 -1
- package/dist/chunks/json-elements-DKSqpNW1.js.map +0 -1
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The types of `@graphty/graph-io/positions`: the neutral form every format's stored node
|
|
3
|
+
* coordinates are read into, and how a column or an importer says how its coordinates are spelled.
|
|
4
|
+
*
|
|
5
|
+
* The neutral convention: every coordinate is the node's center, y grows upward, in the file's own
|
|
6
|
+
* length unit (`units`), with 3 components (z = 0 when the file stored 2, or when every node has the
|
|
7
|
+
* same z).
|
|
8
|
+
*/
|
|
9
|
+
import type { GraphTool, LengthUnit } from "../common/units.js";
|
|
10
|
+
import type { PositionNoteCode } from "./codes.js";
|
|
11
|
+
export type { GraphTool, LengthUnit } from "../common/units.js";
|
|
12
|
+
/**
|
|
13
|
+
* Which way a file's y coordinate grows. "down" is screen order (yEd, Cytoscape, Pajek, d3), "up"
|
|
14
|
+
* is math order (Gephi, Graphviz, graph-io's own position columns).
|
|
15
|
+
* @category Positions
|
|
16
|
+
*/
|
|
17
|
+
export type YAxis = "up" | "down";
|
|
18
|
+
/**
|
|
19
|
+
* What a stored node coordinate points at: the node's center, or the top-left corner of its box
|
|
20
|
+
* (yEd), which needs the node's width and height to find the center.
|
|
21
|
+
* @category Positions
|
|
22
|
+
*/
|
|
23
|
+
export type PositionAnchor = "center" | "top-left";
|
|
24
|
+
/**
|
|
25
|
+
* How a role-`position` column's values are spelled, as optional fields of the column's
|
|
26
|
+
* `meta.extra`. A missing field means y up, center, `"file"` units: what the Cytoscape-family,
|
|
27
|
+
* GEXF and DOT columns already hold.
|
|
28
|
+
* @category Positions
|
|
29
|
+
*/
|
|
30
|
+
export interface PositionColumnExtra {
|
|
31
|
+
/** The unit of the coordinates. */
|
|
32
|
+
readonly units?: LengthUnit;
|
|
33
|
+
/**
|
|
34
|
+
* How many px (points) one unit of the coordinates is, when `units` is "file" but the file's
|
|
35
|
+
* unit is a known length: 72 for Graphviz input inches. Lets a reader draw the coordinates in
|
|
36
|
+
* the same unit as the file's px style lengths; the coordinates themselves stay as written.
|
|
37
|
+
*/
|
|
38
|
+
readonly pxPerUnit?: number;
|
|
39
|
+
/** How many coordinates the file wrote per node: 2, or 3 when it stored a z. */
|
|
40
|
+
readonly sourceDims?: 2 | 3;
|
|
41
|
+
/** Which way y grows; "down" is flipped to y up. */
|
|
42
|
+
readonly yAxis?: YAxis;
|
|
43
|
+
/** What the coordinate points at; "top-left" is moved to the center using `width` and `height`. */
|
|
44
|
+
readonly anchor?: PositionAnchor;
|
|
45
|
+
/** The name of the node column holding each node's width, for a top-left anchor. */
|
|
46
|
+
readonly width?: string;
|
|
47
|
+
/** The name of the node column holding each node's height, for a top-left anchor. */
|
|
48
|
+
readonly height?: string;
|
|
49
|
+
/** A z the file centers its depth on (Pajek's 0.5): subtracted from a real z before any flip. */
|
|
50
|
+
readonly zOrigin?: number;
|
|
51
|
+
/**
|
|
52
|
+
* The file writes (0, 0) for a node it has no position for (NetworkX's Pajek writer): when other
|
|
53
|
+
* rows are placed, a (0, 0) shared by two or more rows counts as unplaced.
|
|
54
|
+
*/
|
|
55
|
+
readonly zeroUnplaced?: boolean;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* A group container's box, as an importer's `positions()` hook gives it: (`x`, `y`) is where the
|
|
59
|
+
* box's anchor is, spelled like the node coordinates (the same y direction and anchor).
|
|
60
|
+
* @category Positions
|
|
61
|
+
*/
|
|
62
|
+
export interface ImporterGroupBox {
|
|
63
|
+
/** The container node, by index. */
|
|
64
|
+
readonly node: number;
|
|
65
|
+
/** The box. */
|
|
66
|
+
readonly box: {
|
|
67
|
+
/** The box's anchor, x. */
|
|
68
|
+
readonly x: number;
|
|
69
|
+
/** The box's anchor, y. */
|
|
70
|
+
readonly y: number;
|
|
71
|
+
/** The box's width. */
|
|
72
|
+
readonly width: number;
|
|
73
|
+
/** The box's height. */
|
|
74
|
+
readonly height: number;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* What an importer's `positions()` hook returns: where its coordinates are and how they are spelled.
|
|
79
|
+
*
|
|
80
|
+
* The simple form names two (or three) plain numeric node columns:
|
|
81
|
+
* `{ x: "x", y: "y", yAxis: "down", units: "px" }`. The advanced form names a 3-component column
|
|
82
|
+
* (`column`) and may add the anchor, size columns, group boxes, a median node size and the tool.
|
|
83
|
+
* @category Positions
|
|
84
|
+
*/
|
|
85
|
+
export interface ImporterPositions extends PositionColumnExtra {
|
|
86
|
+
/** A plain numeric node column holding x (simple form). */
|
|
87
|
+
readonly x?: string;
|
|
88
|
+
/** A plain numeric node column holding y (simple form). */
|
|
89
|
+
readonly y?: string;
|
|
90
|
+
/** A plain numeric node column holding z (simple form); omit for a 2D file. */
|
|
91
|
+
readonly z?: string;
|
|
92
|
+
/** A 3-component node column holding the coordinates (advanced form); defaults to the role-`position` column. */
|
|
93
|
+
readonly column?: string;
|
|
94
|
+
/** Group container boxes the file stores apart from the node coordinates (Graphviz cluster `bb`). */
|
|
95
|
+
readonly groups?: readonly ImporterGroupBox[];
|
|
96
|
+
/** The median node diameter in the file's unit, when the importer knows it better than the size columns. */
|
|
97
|
+
readonly medianNodeSize?: number | null;
|
|
98
|
+
/** The tool that wrote the file, when the importer knows it better than `meta.creator`. */
|
|
99
|
+
readonly tool?: GraphTool | null;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* What an importer's `positions()` hook is given besides the snapshot.
|
|
103
|
+
* @category Positions
|
|
104
|
+
*/
|
|
105
|
+
export interface PositionReadContext {
|
|
106
|
+
/** Aborts a long read. */
|
|
107
|
+
readonly signal: AbortSignal | null;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* A note about the stored positions: a code with its parameters, never a sentence for a reader.
|
|
111
|
+
* `message` is graph-io's English for its own logs.
|
|
112
|
+
* @category Positions
|
|
113
|
+
*/
|
|
114
|
+
export interface PositionNote {
|
|
115
|
+
/** The condition. */
|
|
116
|
+
readonly code: PositionNoteCode;
|
|
117
|
+
/** How many elements (or columns) it covers, and up to 8 examples. */
|
|
118
|
+
readonly params: {
|
|
119
|
+
/** How many elements (or columns) it covers. */
|
|
120
|
+
readonly count: number;
|
|
121
|
+
/** Up to 8 of their ids (or column names). */
|
|
122
|
+
readonly samples: readonly string[];
|
|
123
|
+
};
|
|
124
|
+
/** The node indexes it covers, or only their count when it is about the file as a whole. */
|
|
125
|
+
readonly elements: readonly number[] | {
|
|
126
|
+
/** How many it covers. */
|
|
127
|
+
readonly count: number;
|
|
128
|
+
};
|
|
129
|
+
/** graph-io's English; never shown to a reader by graphty-element. */
|
|
130
|
+
readonly message: string;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* A group container's box in the neutral convention: (`x`, `y`) is the box's center, y up.
|
|
134
|
+
* @category Positions
|
|
135
|
+
*/
|
|
136
|
+
export interface FilePositionGroup {
|
|
137
|
+
/** The container node, by index. */
|
|
138
|
+
readonly node: number;
|
|
139
|
+
/** The box: center, width and height in the file's unit. */
|
|
140
|
+
readonly box: {
|
|
141
|
+
/** The box's center, x. */
|
|
142
|
+
readonly x: number;
|
|
143
|
+
/** The box's center, y. */
|
|
144
|
+
readonly y: number;
|
|
145
|
+
/** The box's width. */
|
|
146
|
+
readonly width: number;
|
|
147
|
+
/** The box's height. */
|
|
148
|
+
readonly height: number;
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* A file's stored node coordinates in the neutral convention: the node's center, y up, in the
|
|
153
|
+
* file's own unit, 3 components per node.
|
|
154
|
+
* @category Positions
|
|
155
|
+
*/
|
|
156
|
+
export interface FilePositions {
|
|
157
|
+
/** The shape version of this object. */
|
|
158
|
+
readonly version: 1;
|
|
159
|
+
/** Where the coordinates came from: the format, the tool that wrote the file, and the y direction it used. */
|
|
160
|
+
readonly source: {
|
|
161
|
+
/** The format that read the file. */
|
|
162
|
+
readonly format: string;
|
|
163
|
+
/** The tool that wrote the file, or null when the file does not say. */
|
|
164
|
+
readonly tool: GraphTool | null;
|
|
165
|
+
/** Which way y grew in the file; every coordinate here has y up. */
|
|
166
|
+
readonly yAxis: YAxis;
|
|
167
|
+
};
|
|
168
|
+
/** The unit of every coordinate and size. */
|
|
169
|
+
readonly units: LengthUnit;
|
|
170
|
+
/**
|
|
171
|
+
* How many px (points) one unit is, when `units` is "file" but the file's unit is a known
|
|
172
|
+
* length (Graphviz input inches: 72); absent otherwise. Multiply a coordinate by it to compare
|
|
173
|
+
* it with the file's px style lengths.
|
|
174
|
+
*/
|
|
175
|
+
readonly pxPerUnit?: number;
|
|
176
|
+
/** The median node diameter, in `units`, when the file stores node sizes; else null. */
|
|
177
|
+
readonly medianNodeSize: number | null;
|
|
178
|
+
/** 3 when the nodes differ in z, else 2 (z is then 0). */
|
|
179
|
+
readonly dims: 2 | 3;
|
|
180
|
+
/** x, y, z per node, by node index (3 * nodeCount); NaN for a node with no position. */
|
|
181
|
+
readonly coords: Float64Array;
|
|
182
|
+
/** The nodes with a position. */
|
|
183
|
+
readonly placed: number;
|
|
184
|
+
/** The nodes that need one: every node except group containers the file gives no box. */
|
|
185
|
+
readonly total: number;
|
|
186
|
+
/** False when nothing is stored, or every node sits on one point (coords are then all NaN). */
|
|
187
|
+
readonly usable: boolean;
|
|
188
|
+
/** The box around every placed node, or null when none is placed. */
|
|
189
|
+
readonly bounds: {
|
|
190
|
+
/** The smallest x, y and z. */
|
|
191
|
+
readonly min: readonly [number, number, number];
|
|
192
|
+
/** The largest x, y and z. */
|
|
193
|
+
readonly max: readonly [number, number, number];
|
|
194
|
+
} | null;
|
|
195
|
+
/** Group containers with a box. */
|
|
196
|
+
readonly groups: readonly FilePositionGroup[];
|
|
197
|
+
/** What could not be read as written. */
|
|
198
|
+
readonly notes: readonly PositionNote[];
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Options of `extractPositions()`.
|
|
202
|
+
* @category Positions
|
|
203
|
+
*/
|
|
204
|
+
export interface ExtractPositionsOptions {
|
|
205
|
+
/** Aborts the read; it throws the signal's reason. */
|
|
206
|
+
readonly signal?: AbortSignal | null;
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/positions/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The types of `@graphty/graph-io/positions`: the neutral form every format's stored node
|
|
3
|
+
* coordinates are read into, and how a column or an importer says how its coordinates are spelled.
|
|
4
|
+
*
|
|
5
|
+
* The neutral convention: every coordinate is the node's center, y grows upward, in the file's own
|
|
6
|
+
* length unit (`units`), with 3 components (z = 0 when the file stored 2, or when every node has the
|
|
7
|
+
* same z).
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/positions/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
package/dist/src/registry.d.ts
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { type FreezeOptions, type FreezeReport, type GraphBuilderOptions, type GraphSnapshot } from "@graphty/graph-format";
|
|
10
10
|
import { type FormatName, type SniffHints, type SniffResult } from "./sniff.js";
|
|
11
|
+
import { type StyleImportOptions } from "./styles/io/generic.js";
|
|
12
|
+
import type { ExtractedStyles } from "./styles/types.js";
|
|
11
13
|
import { type CommonExportOptions, type CommonImportOptions, type ExportCapabilities, type GraphChoiceOptions, type GraphExporter, type GraphImporter, type GraphListing, type ImportInput, type ImportReport, type LossNote } from "./types.js";
|
|
12
14
|
/**
|
|
13
15
|
* The input is in no format graph-io can read (or none of the formats you registered, for your own FormatRegistry).
|
|
@@ -79,6 +81,13 @@ export interface ImportGraphOptions extends CommonImportOptions, GraphChoiceOpti
|
|
|
79
81
|
* @defaultValue 16777216
|
|
80
82
|
*/
|
|
81
83
|
readonly maxEmptyCells?: number | undefined;
|
|
84
|
+
/**
|
|
85
|
+
* Read the file's styles too: `true`, or `{ toolDefaults: false }` to leave out the defaults of the program
|
|
86
|
+
* that wrote the file. The styles are in `result.styles`; the graph, the report and every export are the same
|
|
87
|
+
* either way.
|
|
88
|
+
* @defaultValue false
|
|
89
|
+
*/
|
|
90
|
+
readonly styles?: boolean | StyleImportOptions | undefined;
|
|
82
91
|
/** Format-specific options, passed to the importer as they are. */
|
|
83
92
|
readonly [formatOption: string]: unknown;
|
|
84
93
|
}
|
|
@@ -113,6 +122,12 @@ export interface ImportGraphResult {
|
|
|
113
122
|
* can ignore it. It is not enumerable, so `console.log(result)` and `{ ...result }` leave it out.
|
|
114
123
|
*/
|
|
115
124
|
readonly freeze: FreezeReport;
|
|
125
|
+
/**
|
|
126
|
+
* The file's styles, when you passed the `styles` option: the rules that reproduce how the program that wrote
|
|
127
|
+
* the file draws each node and edge, read by the importer that read the file. Null when the file has none.
|
|
128
|
+
* Absent without the option.
|
|
129
|
+
*/
|
|
130
|
+
readonly styles?: ExtractedStyles | null;
|
|
116
131
|
}
|
|
117
132
|
/**
|
|
118
133
|
* Options for loadFromUrl(): everything importGraph() accepts, plus the fetch request settings.
|
|
@@ -176,6 +191,13 @@ export interface FormatInfo {
|
|
|
176
191
|
* @category Saving
|
|
177
192
|
*/
|
|
178
193
|
export interface ExportGraphOptions extends CommonExportOptions {
|
|
194
|
+
/**
|
|
195
|
+
* Write these styles too (`result.styles` of an import, or styles built for this graph): each element's look in
|
|
196
|
+
* the format's own style slots and, where the format can keep them, the rules, so importing the file back
|
|
197
|
+
* rebuilds them. What the format cannot hold is a W_STYLE_ note of checkExport(). Styles read from or built for a
|
|
198
|
+
* different graph fail with E_STYLES_MISMATCH before anything is written.
|
|
199
|
+
*/
|
|
200
|
+
readonly styles?: ExtractedStyles | null | undefined;
|
|
179
201
|
/** Format-specific options, passed to the exporter as they are. */
|
|
180
202
|
readonly [formatOption: string]: unknown;
|
|
181
203
|
}
|
|
@@ -328,6 +350,14 @@ export declare class FormatRegistry {
|
|
|
328
350
|
* @returns the encoded chunks
|
|
329
351
|
*/
|
|
330
352
|
exportGraph(snapshot: GraphSnapshot, format: FormatName, options?: ExportGraphOptions | CommonExportOptions): AsyncIterable<Uint8Array>;
|
|
353
|
+
/**
|
|
354
|
+
* An export with styles worked out, or null when no styles were given (the export is then exactly as before).
|
|
355
|
+
* @param snapshot - the graph
|
|
356
|
+
* @param format - the format name
|
|
357
|
+
* @param options - the caller's options
|
|
358
|
+
* @returns the exporter, the snapshot and options to hand it, the style losses and any refusal
|
|
359
|
+
*/
|
|
360
|
+
private styled;
|
|
331
361
|
/**
|
|
332
362
|
* Write a snapshot in a format, as one string.
|
|
333
363
|
* @param snapshot - the snapshot
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,mBAAmB,EAExB,KAAK,aAAa,EACrB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/src/registry.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { GraphFormatError, } from "@graphty/graph-format";
|
|
10
10
|
import { CellBudgetBuilder, maxEmptyCellsOption } from "./common/cell-budget.js";
|
|
11
|
-
import { EDGES_MERGED_CODE, EMPTY_INPUT_CODE, FETCH_CODE, OPTION_IGNORED_CODE, SELF_LOOPS_DROPPED_CODE, UNKNOWN_OPTION_CODE, WEIGHT_NOT_FOUND_CODE, } from "./common/codes.js";
|
|
11
|
+
import { EDGES_MERGED_CODE, EMPTY_INPUT_CODE, FETCH_CODE, OPTION_IGNORED_CODE, SELF_LOOPS_DROPPED_CODE, STYLES_NOT_IMPORTED_CODE, UNKNOWN_OPTION_CODE, WEIGHT_NOT_FOUND_CODE, } from "./common/codes.js";
|
|
12
12
|
import { abortable, foreignKind, lockReader, normalizeInput, throwIfAborted } from "./common/input.js";
|
|
13
13
|
import { chooseGraph, resolveImportOptions } from "./common/options.js";
|
|
14
14
|
import { agree, plural } from "./common/plural.js";
|
|
@@ -28,6 +28,8 @@ import { oboExporter, oboImporter } from "./formats/obo/index.js";
|
|
|
28
28
|
import { pajekExporter, pajekImporter } from "./formats/pajek/index.js";
|
|
29
29
|
import { xgmmlExporter, xgmmlImporter } from "./formats/xgmml/index.js";
|
|
30
30
|
import { rankFormats, SNIFF_HEAD_BYTES } from "./sniff.js";
|
|
31
|
+
import { extractStyles } from "./styles/io/generic.js";
|
|
32
|
+
import { isKeptGraphtyProperty, prepareStyleExport } from "./styles/io/writer.js";
|
|
31
33
|
import { ImportError, } from "./types.js";
|
|
32
34
|
/**
|
|
33
35
|
* The input is in no format graph-io can read (or none of the formats you registered, for your own FormatRegistry).
|
|
@@ -70,6 +72,7 @@ const FUNCTION_OPTIONS = new Set([
|
|
|
70
72
|
"sanitizeIds",
|
|
71
73
|
"selfLoops",
|
|
72
74
|
"signal",
|
|
75
|
+
"styles",
|
|
73
76
|
"weightDtype",
|
|
74
77
|
"weightFrom",
|
|
75
78
|
]);
|
|
@@ -81,6 +84,7 @@ const REGISTRY_KEYS = new Set([
|
|
|
81
84
|
"builder",
|
|
82
85
|
"freeze",
|
|
83
86
|
"maxEmptyCells",
|
|
87
|
+
"styles",
|
|
84
88
|
]);
|
|
85
89
|
/**
|
|
86
90
|
* A registry of importers and exporters by format name. Registration order is the tie-break
|
|
@@ -423,7 +427,38 @@ export class FormatRegistry {
|
|
|
423
427
|
* @returns the encoded chunks
|
|
424
428
|
*/
|
|
425
429
|
exportGraph(snapshot, format, options) {
|
|
426
|
-
|
|
430
|
+
const styled = this.styled(snapshot, format, options);
|
|
431
|
+
if (styled === null) {
|
|
432
|
+
return this.exporter(format).export(snapshot, options);
|
|
433
|
+
}
|
|
434
|
+
if (styled.refusal !== null) {
|
|
435
|
+
return refuse(styled.refusal);
|
|
436
|
+
}
|
|
437
|
+
return styled.exporter.export(styled.snapshot, styled.options);
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* An export with styles worked out, or null when no styles were given (the export is then exactly as before).
|
|
441
|
+
* @param snapshot - the graph
|
|
442
|
+
* @param format - the format name
|
|
443
|
+
* @param options - the caller's options
|
|
444
|
+
* @returns the exporter, the snapshot and options to hand it, the style losses and any refusal
|
|
445
|
+
*/
|
|
446
|
+
styled(snapshot, format, options) {
|
|
447
|
+
const styles = options?.styles;
|
|
448
|
+
if (styles === undefined || styles === null) {
|
|
449
|
+
return null;
|
|
450
|
+
}
|
|
451
|
+
const exporter = this.exporter(format);
|
|
452
|
+
const { styles: _given, ...rest } = options;
|
|
453
|
+
const prepared = prepareStyleExport(snapshot, exporter, styles, rest);
|
|
454
|
+
return {
|
|
455
|
+
exporter,
|
|
456
|
+
snapshot: prepared.snapshot,
|
|
457
|
+
options: prepared.input === null ? rest : { ...rest, styles: prepared.input },
|
|
458
|
+
plain: rest,
|
|
459
|
+
notes: prepared.notes,
|
|
460
|
+
refusal: prepared.refusal,
|
|
461
|
+
};
|
|
427
462
|
}
|
|
428
463
|
/**
|
|
429
464
|
* Write a snapshot in a format, as one string.
|
|
@@ -433,7 +468,14 @@ export class FormatRegistry {
|
|
|
433
468
|
* @returns the whole document
|
|
434
469
|
*/
|
|
435
470
|
async exportGraphToString(snapshot, format, options) {
|
|
436
|
-
|
|
471
|
+
const styled = this.styled(snapshot, format, options);
|
|
472
|
+
if (styled === null) {
|
|
473
|
+
return this.exporter(format).exportToString(snapshot, options);
|
|
474
|
+
}
|
|
475
|
+
if (styled.refusal !== null) {
|
|
476
|
+
throw refusalError(styled.refusal);
|
|
477
|
+
}
|
|
478
|
+
return styled.exporter.exportToString(styled.snapshot, styled.options);
|
|
437
479
|
}
|
|
438
480
|
/**
|
|
439
481
|
* Write a snapshot in a format as one buffer of UTF-8 bytes; see the top-level
|
|
@@ -470,7 +512,26 @@ export class FormatRegistry {
|
|
|
470
512
|
* @returns the loss notes, empty when the export is exact
|
|
471
513
|
*/
|
|
472
514
|
checkExport(snapshot, format, options) {
|
|
473
|
-
const
|
|
515
|
+
const styled = this.styled(snapshot, format, options);
|
|
516
|
+
let notes;
|
|
517
|
+
if (styled === null) {
|
|
518
|
+
notes = this.exporter(format).check(snapshot, options);
|
|
519
|
+
}
|
|
520
|
+
else if (styled.refusal === null) {
|
|
521
|
+
// a property graph-io already reports as not written is reported once, whoever else notices
|
|
522
|
+
const key = (n) => `${n.code}\u0000${n.style?.target ?? ""}\u0000${n.style?.property ?? ""}`;
|
|
523
|
+
const reported = new Set(styled.notes.filter((n) => n.style !== undefined).map(key));
|
|
524
|
+
notes = [
|
|
525
|
+
...styled.exporter
|
|
526
|
+
.check(styled.snapshot, styled.options)
|
|
527
|
+
.filter((n) => n.style === undefined ||
|
|
528
|
+
(!reported.has(key(n)) && !isKeptGraphtyProperty(n, styled.exporter))),
|
|
529
|
+
...styled.notes,
|
|
530
|
+
];
|
|
531
|
+
}
|
|
532
|
+
else {
|
|
533
|
+
notes = [...styled.exporter.check(snapshot, styled.plain), styled.refusal];
|
|
534
|
+
}
|
|
474
535
|
const unknown = this.unknownOptions(options);
|
|
475
536
|
if (unknown.length === 0) {
|
|
476
537
|
return notes;
|
|
@@ -549,7 +610,7 @@ export class FormatRegistry {
|
|
|
549
610
|
mimeTypes: importer?.mimeTypes ?? exporter?.mimeTypes ?? [],
|
|
550
611
|
canImport: importer !== undefined,
|
|
551
612
|
canExport: exporter !== undefined,
|
|
552
|
-
capabilities: exporter
|
|
613
|
+
capabilities: capabilitiesOf(exporter),
|
|
553
614
|
});
|
|
554
615
|
});
|
|
555
616
|
}
|
|
@@ -1014,22 +1075,82 @@ function result(chosen, builder, report, options) {
|
|
|
1014
1075
|
throw freezeFailure(err, report);
|
|
1015
1076
|
}
|
|
1016
1077
|
const { warnings } = chosen;
|
|
1078
|
+
const wanted = options.styles;
|
|
1079
|
+
let styles;
|
|
1080
|
+
if (wanted !== undefined && wanted !== false) {
|
|
1081
|
+
styles = extractStyles(chosen.importer, frozen.snapshot, report, {
|
|
1082
|
+
signal: options.signal,
|
|
1083
|
+
toolDefaults: typeof wanted === "object" ? wanted.toolDefaults : undefined,
|
|
1084
|
+
});
|
|
1085
|
+
}
|
|
1086
|
+
const read = styles !== undefined && chosen.importer.styles !== undefined ? withoutStylesNotImported(report) : report;
|
|
1017
1087
|
const result = {
|
|
1018
1088
|
format: chosen.importer.format,
|
|
1019
1089
|
sniff: chosen.sniff,
|
|
1020
1090
|
snapshot: frozen.snapshot,
|
|
1021
1091
|
report: withFreezeWarnings(weightNotFound(warnings.length === 0
|
|
1022
|
-
?
|
|
1092
|
+
? read
|
|
1023
1093
|
: Object.freeze({
|
|
1024
|
-
...
|
|
1025
|
-
issues: Object.freeze([...warnings, ...
|
|
1026
|
-
warningCount:
|
|
1094
|
+
...read,
|
|
1095
|
+
issues: Object.freeze([...warnings, ...read.issues]),
|
|
1096
|
+
warningCount: read.warningCount + warnings.length,
|
|
1027
1097
|
}), frozen.snapshot, options.weightFrom), frozen.report),
|
|
1028
1098
|
};
|
|
1099
|
+
if (styles !== undefined) {
|
|
1100
|
+
Object.assign(result, { styles });
|
|
1101
|
+
}
|
|
1029
1102
|
// not enumerable: it holds one entry per edge, and console.log(result) should show the graph, not that
|
|
1030
1103
|
Object.defineProperty(result, "freeze", { value: frozen.report, enumerable: false });
|
|
1031
1104
|
return Object.freeze(result);
|
|
1032
1105
|
}
|
|
1106
|
+
/**
|
|
1107
|
+
* A report without its W_STYLES_NOT_IMPORTED warnings: the importer read the styles it would have named.
|
|
1108
|
+
* @param report - the importer's report
|
|
1109
|
+
* @returns the report, a copy only when it held such a warning
|
|
1110
|
+
*/
|
|
1111
|
+
function withoutStylesNotImported(report) {
|
|
1112
|
+
const issues = report.issues.filter((i) => i.code !== STYLES_NOT_IMPORTED_CODE);
|
|
1113
|
+
if (issues.length === report.issues.length) {
|
|
1114
|
+
return report;
|
|
1115
|
+
}
|
|
1116
|
+
return Object.freeze({
|
|
1117
|
+
...report,
|
|
1118
|
+
issues: Object.freeze(issues),
|
|
1119
|
+
warningCount: report.warningCount - (report.issues.length - issues.length),
|
|
1120
|
+
});
|
|
1121
|
+
}
|
|
1122
|
+
/**
|
|
1123
|
+
* The error an export refused for its styles throws.
|
|
1124
|
+
* @param note - the refusal note
|
|
1125
|
+
* @returns the error
|
|
1126
|
+
*/
|
|
1127
|
+
function refusalError(note) {
|
|
1128
|
+
return new GraphFormatError("E_UNSUPPORTED", note.message, { code: note.code });
|
|
1129
|
+
}
|
|
1130
|
+
/**
|
|
1131
|
+
* Chunks that fail on the first read, before any byte: an export refused for its styles.
|
|
1132
|
+
* @param note - the refusal note
|
|
1133
|
+
* @returns chunks whose first read rejects
|
|
1134
|
+
*/
|
|
1135
|
+
function refuse(note) {
|
|
1136
|
+
return {
|
|
1137
|
+
[Symbol.asyncIterator]: () => ({ next: () => Promise.reject(refusalError(note)) }),
|
|
1138
|
+
};
|
|
1139
|
+
}
|
|
1140
|
+
/**
|
|
1141
|
+
* The capabilities listFormats() reports for an exporter: its table plus, when it writes styles, their capabilities.
|
|
1142
|
+
* @param exporter - the exporter, or undefined
|
|
1143
|
+
* @returns the capabilities, or null
|
|
1144
|
+
*/
|
|
1145
|
+
function capabilitiesOf(exporter) {
|
|
1146
|
+
if (exporter === undefined) {
|
|
1147
|
+
return null;
|
|
1148
|
+
}
|
|
1149
|
+
if (exporter.styles === undefined) {
|
|
1150
|
+
return exporter.capabilities;
|
|
1151
|
+
}
|
|
1152
|
+
return Object.freeze({ ...exporter.capabilities, styles: exporter.styles.capabilities });
|
|
1153
|
+
}
|
|
1033
1154
|
/**
|
|
1034
1155
|
* The message of a W_UNKNOWN_OPTION warning or note.
|
|
1035
1156
|
* @param name - the option name
|