@graphty/graph-io 0.3.42 → 0.3.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/approximations-3Q4TsdTh.js +40 -0
- package/dist/chunks/approximations-3Q4TsdTh.js.map +1 -0
- package/dist/chunks/block-JQiwViEt.js +2777 -0
- package/dist/chunks/block-JQiwViEt.js.map +1 -0
- package/dist/chunks/{choose-DvpbdRuz.js → choose-BemygfH8.js} +3 -2
- package/dist/chunks/{choose-DvpbdRuz.js.map → choose-BemygfH8.js.map} +1 -1
- package/dist/chunks/{constants-fT3E8JYY.js → constants-BFUR_CtU.js} +6 -2
- package/dist/chunks/constants-BFUR_CtU.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-DCwFLts5.js +3456 -0
- package/dist/chunks/emit-DCwFLts5.js.map +1 -0
- package/dist/chunks/{escape-B62ZGM_a.js → escape-B1rMftd9.js} +43 -20
- package/dist/chunks/escape-B1rMftd9.js.map +1 -0
- package/dist/chunks/{export-rKLeGQMo.js → export-D7IGzTG4.js} +196 -792
- package/dist/chunks/export-D7IGzTG4.js.map +1 -0
- package/dist/chunks/{exporter-BWwEuOPT.js → exporter-BtnqYuuj.js} +22 -12
- package/dist/chunks/exporter-BtnqYuuj.js.map +1 -0
- package/dist/chunks/{exporter-yLxKBvLE.js → exporter-ChPyhBOv.js} +4 -3
- package/dist/chunks/{exporter-yLxKBvLE.js.map → exporter-ChPyhBOv.js.map} +1 -1
- package/dist/chunks/{exporter-8hLNemFk.js → exporter-KEPxYUXD.js} +133 -74
- package/dist/chunks/exporter-KEPxYUXD.js.map +1 -0
- package/dist/chunks/{exporter-CpRyHZ3H.js → exporter-quPUCBiC.js} +1807 -288
- package/dist/chunks/exporter-quPUCBiC.js.map +1 -0
- package/dist/chunks/format-GDmO6m6Q.js +676 -0
- package/dist/chunks/format-GDmO6m6Q.js.map +1 -0
- package/dist/chunks/generic-BL06jrJf.js +1347 -0
- package/dist/chunks/generic-BL06jrJf.js.map +1 -0
- package/dist/chunks/{importer-WrGRZb0N.js → importer-B7r2owVf.js} +449 -102
- package/dist/chunks/importer-B7r2owVf.js.map +1 -0
- package/dist/chunks/{importer-Ht7LNg8L.js → importer-BFmOP96W.js} +116 -296
- package/dist/chunks/importer-BFmOP96W.js.map +1 -0
- package/dist/chunks/{importer-BbNb7eNg.js → importer-C2nzGhdV.js} +1390 -129
- package/dist/chunks/importer-C2nzGhdV.js.map +1 -0
- package/dist/chunks/{importer-Dz7tI8Sa.js → importer-CbX2_rNF.js} +617 -115
- package/dist/chunks/importer-CbX2_rNF.js.map +1 -0
- package/dist/chunks/{importer-D794XUTe.js → importer-CdzeN6X4.js} +31 -8
- package/dist/chunks/importer-CdzeN6X4.js.map +1 -0
- package/dist/chunks/{importer-xZ-3suY1.js → importer-ChKNC_GN.js} +791 -135
- package/dist/chunks/importer-ChKNC_GN.js.map +1 -0
- package/dist/chunks/{importer-C98dpSH4.js → importer-dwoYpSqb.js} +141 -82
- package/dist/chunks/importer-dwoYpSqb.js.map +1 -0
- package/dist/chunks/index-B9fdNpTA.js +4310 -0
- package/dist/chunks/index-B9fdNpTA.js.map +1 -0
- package/dist/chunks/{json-elements-DKSqpNW1.js → json-elements-C4FwgnH5.js} +123 -32
- package/dist/chunks/json-elements-C4FwgnH5.js.map +1 -0
- package/dist/chunks/lexicon-B-knUi-l.js +508 -0
- package/dist/chunks/lexicon-B-knUi-l.js.map +1 -0
- package/dist/chunks/{ontology-export-CtRXjg_i.js → ontology-export-BSpbY5FL.js} +3 -2
- package/dist/chunks/{ontology-export-CtRXjg_i.js.map → ontology-export-BSpbY5FL.js.map} +1 -1
- package/dist/chunks/{records-Cu4bxYOm.js → records-Nwz_rbNt.js} +2 -2
- package/dist/chunks/{records-Cu4bxYOm.js.map → records-Nwz_rbNt.js.map} +1 -1
- package/dist/chunks/styles-Brt9JMfs.js +690 -0
- package/dist/chunks/styles-Brt9JMfs.js.map +1 -0
- package/dist/chunks/styles-_N-C8S-U.js +2102 -0
- package/dist/chunks/styles-_N-C8S-U.js.map +1 -0
- package/dist/chunks/styles-yed-DAfcIkf7.js +842 -0
- package/dist/chunks/styles-yed-DAfcIkf7.js.map +1 -0
- package/dist/chunks/{text-DHOJXnED.js → text-CgzMqHQb.js} +2 -2
- package/dist/chunks/{text-DHOJXnED.js.map → text-CgzMqHQb.js.map} +1 -1
- package/dist/chunks/units-XMZFIFe1.js +19 -0
- package/dist/chunks/units-XMZFIFe1.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 +295 -414
- package/dist/gexf.js.map +1 -1
- package/dist/gml.js +8 -3031
- package/dist/gml.js.map +1 -1
- package/dist/graph-io.js +354 -240
- 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 +1484 -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 +23 -7
- 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 +441 -265
- 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 +790 -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 +603 -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 +80 -0
- package/dist/src/styles/io/writer.d.ts.map +1 -0
- package/dist/src/styles/io/writer.js +596 -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 +1741 -0
- package/src/formats/gexf/exporter.ts +30 -13
- 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 +543 -323
- 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 +951 -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 +656 -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 +745 -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-CpRyHZ3H.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,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical numbers, lengths, opacities and booleans: 6 significant digits, never negative, never NaN or Infinity.
|
|
3
|
+
*/
|
|
4
|
+
import { STYLE_ISSUE } from "../codes.js";
|
|
5
|
+
import { noteAt, scalarText, spendAt } from "./site.js";
|
|
6
|
+
/**
|
|
7
|
+
* The largest length or factor a file may give; a larger one is noted as `W_STYLE_BAD_VALUE` and gives no value.
|
|
8
|
+
* @category Styles
|
|
9
|
+
*/
|
|
10
|
+
export const MAX_STYLE_NUMBER = 1e6;
|
|
11
|
+
/**
|
|
12
|
+
* Points per inch: DOT gives node sizes in inches, and a canonical length is in points (pixels at 72 dpi).
|
|
13
|
+
* @category Styles
|
|
14
|
+
*/
|
|
15
|
+
export const DOT_POINTS_PER_INCH = 72;
|
|
16
|
+
/** One way to read a decimal number, so a long run of digits fails or passes in one pass. */
|
|
17
|
+
const DECIMAL = /^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/;
|
|
18
|
+
/**
|
|
19
|
+
* A number at 6 significant digits, with `-0` as `0`.
|
|
20
|
+
* @param value - a finite number
|
|
21
|
+
* @returns the canonical number
|
|
22
|
+
* @category Styles
|
|
23
|
+
*/
|
|
24
|
+
export function num6(value) {
|
|
25
|
+
return Number(value.toPrecision(6)) + 0;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A finite number from a number or a decimal string, or null with a note.
|
|
29
|
+
* @param raw - the file's value
|
|
30
|
+
* @param site - where it was read
|
|
31
|
+
* @returns the number, or null
|
|
32
|
+
*/
|
|
33
|
+
function finite(raw, site) {
|
|
34
|
+
if (typeof raw === "boolean") {
|
|
35
|
+
noteAt(site, STYLE_ISSUE.BAD_VALUE, raw);
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const text = scalarText(raw, site);
|
|
39
|
+
if (text === null) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
const trimmed = text.trim();
|
|
43
|
+
let value = Number.NaN;
|
|
44
|
+
if (typeof raw === "number") {
|
|
45
|
+
value = raw;
|
|
46
|
+
}
|
|
47
|
+
else if (DECIMAL.test(trimmed)) {
|
|
48
|
+
value = Number(trimmed);
|
|
49
|
+
}
|
|
50
|
+
if (!Number.isFinite(value)) {
|
|
51
|
+
noteAt(site, STYLE_ISSUE.BAD_VALUE, text);
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
return value;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* A length or factor: a finite number at least 0 and at most `MAX_STYLE_NUMBER` after multiplying by `factor`, at 6
|
|
58
|
+
* significant digits. Anything else is null with a `W_STYLE_BAD_VALUE` note.
|
|
59
|
+
* @param raw - the file's value: a number or a decimal string
|
|
60
|
+
* @param site - where it was read
|
|
61
|
+
* @param factor - multiplies the value first (`DOT_POINTS_PER_INCH` for DOT sizes); defaults to 1
|
|
62
|
+
* @returns the canonical number, or null
|
|
63
|
+
* @category Styles
|
|
64
|
+
*/
|
|
65
|
+
export function canonNumber(raw, site, factor = 1) {
|
|
66
|
+
const value = finite(raw, site);
|
|
67
|
+
if (value === null) {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
const scaled = value * factor;
|
|
71
|
+
if (!(scaled >= 0 && scaled <= MAX_STYLE_NUMBER)) {
|
|
72
|
+
noteAt(site, STYLE_ISSUE.BAD_VALUE, typeof raw === "string" ? raw : String(raw));
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
return num6(scaled);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* An opacity from 0 to 1. Cytoscape desktop states opacities from 0 to 255 and is divided by 255; every other
|
|
79
|
+
* dialect states 0 to 1. A value outside the dialect's range is null with a `W_STYLE_BAD_VALUE` note.
|
|
80
|
+
* @param raw - the file's value
|
|
81
|
+
* @param dialect - the file's dialect
|
|
82
|
+
* @param site - where it was read
|
|
83
|
+
* @returns the canonical opacity, or null
|
|
84
|
+
* @category Styles
|
|
85
|
+
*/
|
|
86
|
+
export function canonOpacity(raw, dialect, site) {
|
|
87
|
+
const value = finite(raw, site);
|
|
88
|
+
if (value === null) {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
const top = dialect === "cytoscape" ? 255 : 1;
|
|
92
|
+
if (!(value >= 0 && value <= top)) {
|
|
93
|
+
noteAt(site, STYLE_ISSUE.BAD_VALUE, typeof raw === "string" ? raw : String(raw));
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
return num6(value / top);
|
|
97
|
+
}
|
|
98
|
+
/** Boolean spellings, lowercase. */
|
|
99
|
+
const BOOLEANS = new Map([
|
|
100
|
+
["true", true],
|
|
101
|
+
["yes", true],
|
|
102
|
+
["on", true],
|
|
103
|
+
["1", true],
|
|
104
|
+
["false", false],
|
|
105
|
+
["no", false],
|
|
106
|
+
["off", false],
|
|
107
|
+
["0", false],
|
|
108
|
+
]);
|
|
109
|
+
/**
|
|
110
|
+
* A boolean from `true`/`false`, `yes`/`no`, `on`/`off` or `1`/`0` in any case; anything else is null with a note.
|
|
111
|
+
* @param raw - the file's value
|
|
112
|
+
* @param site - where it was read
|
|
113
|
+
* @returns the boolean, or null
|
|
114
|
+
* @category Styles
|
|
115
|
+
*/
|
|
116
|
+
export function canonBoolean(raw, site) {
|
|
117
|
+
if (typeof raw === "boolean") {
|
|
118
|
+
spendAt(site, 1);
|
|
119
|
+
return raw;
|
|
120
|
+
}
|
|
121
|
+
const text = scalarText(raw, site);
|
|
122
|
+
if (text === null) {
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
const value = BOOLEANS.get(text.trim().toLowerCase());
|
|
126
|
+
if (value === undefined) {
|
|
127
|
+
noteAt(site, STYLE_ISSUE.BAD_VALUE, text);
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
return value;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* The unit of a dialect's lengths: GEXF and Pajek give size factors relative to their tool's normal size, every
|
|
134
|
+
* other dialect gives pixels (after DOT's inches are converted).
|
|
135
|
+
* @param dialect - the file's dialect
|
|
136
|
+
* @returns `"relative"` or `"px"`
|
|
137
|
+
* @category Styles
|
|
138
|
+
*/
|
|
139
|
+
export function styleLengthUnit(dialect) {
|
|
140
|
+
return dialect === "gexf" || dialect === "dvips" ? "relative" : "px";
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=number.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../src/styles/canon/number.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where a raw value came from, so a canonicalizer can note a problem against the right target, property and element
|
|
3
|
+
* and spend the work it costs from the extraction's one budget.
|
|
4
|
+
*/
|
|
5
|
+
import type { StyleNotes } from "../notes.js";
|
|
6
|
+
import type { StyleNoteCode, StyleTarget, StyleWorkBudget } from "../types.js";
|
|
7
|
+
/**
|
|
8
|
+
* A number, color, enumeration or mapper expression longer than this many characters is not parsed: it is noted as
|
|
9
|
+
* `W_STYLE_VALUE_TOO_LONG` and gives no value. Text is copied whatever its length.
|
|
10
|
+
* @category Styles
|
|
11
|
+
*/
|
|
12
|
+
export declare const MAX_STYLE_VALUE_LENGTH = 256;
|
|
13
|
+
/**
|
|
14
|
+
* Where a raw value is read: the notes it reports to, the target and property it is for, the element it belongs to
|
|
15
|
+
* and the budget its work is spent from.
|
|
16
|
+
* @category Styles
|
|
17
|
+
*/
|
|
18
|
+
export interface CanonSite {
|
|
19
|
+
/** Where problems are noted. */
|
|
20
|
+
readonly notes: StyleNotes;
|
|
21
|
+
/** Nodes, edges or the graph. */
|
|
22
|
+
readonly target: StyleTarget | "graph";
|
|
23
|
+
/** The neutral property the value is for. */
|
|
24
|
+
readonly property: string;
|
|
25
|
+
/** The element the value belongs to, by index; absent for a rule's value. */
|
|
26
|
+
readonly element?: number;
|
|
27
|
+
/** The work budget; each value spends one operation plus one per character it reads. */
|
|
28
|
+
readonly budget?: StyleWorkBudget;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Notes a problem with a value at its site.
|
|
32
|
+
* @param site - where the value was read
|
|
33
|
+
* @param code - the condition
|
|
34
|
+
* @param sample - the offending value
|
|
35
|
+
*/
|
|
36
|
+
export declare function noteAt(site: CanonSite, code: StyleNoteCode, sample: unknown): void;
|
|
37
|
+
/**
|
|
38
|
+
* Spends operations from the site's budget; graph values count as node work.
|
|
39
|
+
* @param site - where the value was read
|
|
40
|
+
* @param operations - the work
|
|
41
|
+
*/
|
|
42
|
+
export declare function spendAt(site: CanonSite, operations: number): void;
|
|
43
|
+
/**
|
|
44
|
+
* The text of a raw scalar, untrimmed, after the length limit: null for an absent value (no note), and null with a
|
|
45
|
+
* note for a value that is empty, too long, not finite or not a scalar. Spends at most 257 operations.
|
|
46
|
+
* @param raw - the file's value
|
|
47
|
+
* @param site - where it was read
|
|
48
|
+
* @returns the value's text, or null
|
|
49
|
+
*/
|
|
50
|
+
export declare function scalarText(raw: unknown, site: CanonSite): string | null;
|
|
51
|
+
//# sourceMappingURL=site.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site.d.ts","sourceRoot":"","sources":["../../../../src/styles/canon/site.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE/E;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACtB,gCAAgC;IAChC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,iCAAiC;IACjC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IACvC,6CAA6C;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,wFAAwF;IACxF,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;CACrC;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAElF;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAEjE;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CA0BvE"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where a raw value came from, so a canonicalizer can note a problem against the right target, property and element
|
|
3
|
+
* and spend the work it costs from the extraction's one budget.
|
|
4
|
+
*/
|
|
5
|
+
import { STYLE_ISSUE } from "../codes.js";
|
|
6
|
+
/**
|
|
7
|
+
* A number, color, enumeration or mapper expression longer than this many characters is not parsed: it is noted as
|
|
8
|
+
* `W_STYLE_VALUE_TOO_LONG` and gives no value. Text is copied whatever its length.
|
|
9
|
+
* @category Styles
|
|
10
|
+
*/
|
|
11
|
+
export const MAX_STYLE_VALUE_LENGTH = 256;
|
|
12
|
+
/**
|
|
13
|
+
* Notes a problem with a value at its site.
|
|
14
|
+
* @param site - where the value was read
|
|
15
|
+
* @param code - the condition
|
|
16
|
+
* @param sample - the offending value
|
|
17
|
+
*/
|
|
18
|
+
export function noteAt(site, code, sample) {
|
|
19
|
+
site.notes.add(code, site.target, site.property, { sample, element: site.element });
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Spends operations from the site's budget; graph values count as node work.
|
|
23
|
+
* @param site - where the value was read
|
|
24
|
+
* @param operations - the work
|
|
25
|
+
*/
|
|
26
|
+
export function spendAt(site, operations) {
|
|
27
|
+
site.budget?.spend(site.target === "graph" ? "node" : site.target, operations);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The text of a raw scalar, untrimmed, after the length limit: null for an absent value (no note), and null with a
|
|
31
|
+
* note for a value that is empty, too long, not finite or not a scalar. Spends at most 257 operations.
|
|
32
|
+
* @param raw - the file's value
|
|
33
|
+
* @param site - where it was read
|
|
34
|
+
* @returns the value's text, or null
|
|
35
|
+
*/
|
|
36
|
+
export function scalarText(raw, site) {
|
|
37
|
+
spendAt(site, 1);
|
|
38
|
+
if (raw === null || raw === undefined) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
if (typeof raw === "number") {
|
|
42
|
+
if (Number.isFinite(raw)) {
|
|
43
|
+
return String(raw);
|
|
44
|
+
}
|
|
45
|
+
noteAt(site, STYLE_ISSUE.BAD_VALUE, String(raw));
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
if (typeof raw !== "string") {
|
|
49
|
+
noteAt(site, STYLE_ISSUE.BAD_VALUE, typeof raw);
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
if (raw.length > MAX_STYLE_VALUE_LENGTH) {
|
|
53
|
+
noteAt(site, STYLE_ISSUE.VALUE_TOO_LONG, `${raw.length} characters`);
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
spendAt(site, raw.length);
|
|
57
|
+
if (raw.trim() === "") {
|
|
58
|
+
noteAt(site, STYLE_ISSUE.BAD_VALUE, raw);
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
return raw;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=site.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site.js","sourceRoot":"","sources":["../../../../src/styles/canon/site.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAoB1C;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,IAAe,EAAE,IAAmB,EAAE,MAAe;IACxE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AACxF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAe,EAAE,UAAkB;IACvD,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,GAAY,EAAE,IAAe;IACpD,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,GAAG,sBAAsB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC,MAAM,aAAa,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical text: the text a tool draws. Text is copied whatever its length and never matched with a pattern that
|
|
3
|
+
* can backtrack; every pass here is linear in the text's length and spends one operation per character.
|
|
4
|
+
*/
|
|
5
|
+
import { type CanonSite } from "./site.js";
|
|
6
|
+
/**
|
|
7
|
+
* A text value: a string as it is, a finite number or a boolean as its text. Anything else is null with a
|
|
8
|
+
* `W_STYLE_BAD_VALUE` note; an absent value is null without one.
|
|
9
|
+
* @param raw - the file's value
|
|
10
|
+
* @param site - where it was read
|
|
11
|
+
* @returns the text, or null
|
|
12
|
+
* @category Styles
|
|
13
|
+
*/
|
|
14
|
+
export declare function canonText(raw: unknown, site: CanonSite): string | null;
|
|
15
|
+
/**
|
|
16
|
+
* The names Graphviz substitutes for `\N`, `\G`, `\E`, `\T` and `\H` in a label; an absent name leaves its escape
|
|
17
|
+
* as written.
|
|
18
|
+
* @category Styles
|
|
19
|
+
*/
|
|
20
|
+
export interface DotEscapeNames {
|
|
21
|
+
/** The node's name, for `\N`. */
|
|
22
|
+
readonly node?: string;
|
|
23
|
+
/** The graph's name, for `\G`. */
|
|
24
|
+
readonly graph?: string;
|
|
25
|
+
/** The edge's name (`a->b` or `a--b`), for `\E`. */
|
|
26
|
+
readonly edge?: string;
|
|
27
|
+
/** The edge's tail node, for `\T`. */
|
|
28
|
+
readonly tail?: string;
|
|
29
|
+
/** The edge's head node, for `\H`. */
|
|
30
|
+
readonly head?: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The text a DOT label draws, in Graphviz's two passes: first `\N`, `\G`, `\E`, `\T` and `\H` are replaced by the
|
|
34
|
+
* names and every other backslash pair is kept; then `\n`, `\l` and `\r` end a line (a final one adds no empty line)
|
|
35
|
+
* and any other escaped character stands for itself. So a node name holding `\n` breaks the line.
|
|
36
|
+
* @param text - the label as the file gives it
|
|
37
|
+
* @param names - the names to substitute
|
|
38
|
+
* @param site - where it was read, for the budget
|
|
39
|
+
* @returns the label's text
|
|
40
|
+
* @category Styles
|
|
41
|
+
*/
|
|
42
|
+
export declare function dotLabelText(text: string, names: DotEscapeNames, site?: CanonSite): string;
|
|
43
|
+
/**
|
|
44
|
+
* The text an HTML-like label shows: tags dropped, `<br/>` as a line break, entities decoded, outer blanks trimmed.
|
|
45
|
+
* Notes `W_STYLE_HTML_LABEL` at the site, since the markup is lost.
|
|
46
|
+
* @param html - the label, with or without its outer `<` and `>`
|
|
47
|
+
* @param site - where it was read
|
|
48
|
+
* @returns the label's text
|
|
49
|
+
* @category Styles
|
|
50
|
+
*/
|
|
51
|
+
export declare function htmlLabelText(html: string, site: CanonSite): string;
|
|
52
|
+
/**
|
|
53
|
+
* The text a Graphviz record label shows: its fields (`<f0> left|<f1> mid|{a|b}`) without their port names, trimmed,
|
|
54
|
+
* empty ones left out, joined with " | ". Notes `W_STYLE_RECORD_LABEL` at the site, since the boxes are lost.
|
|
55
|
+
* @param label - the record label
|
|
56
|
+
* @param site - where it was read
|
|
57
|
+
* @returns the fields' text
|
|
58
|
+
* @category Styles
|
|
59
|
+
*/
|
|
60
|
+
export declare function recordLabelText(label: string, site: CanonSite): string;
|
|
61
|
+
//# sourceMappingURL=text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../src/styles/canon/text.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,KAAK,SAAS,EAAmB,MAAM,WAAW,CAAC;AAE5D;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CActE;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC3B,iCAAiC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,kCAAkC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAc1F;AAoDD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CA2BnE;AAgBD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAmCtE"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical text: the text a tool draws. Text is copied whatever its length and never matched with a pattern that
|
|
3
|
+
* can backtrack; every pass here is linear in the text's length and spends one operation per character.
|
|
4
|
+
*/
|
|
5
|
+
import { STYLE_ISSUE } from "../codes.js";
|
|
6
|
+
import { noteAt, spendAt } from "./site.js";
|
|
7
|
+
/**
|
|
8
|
+
* A text value: a string as it is, a finite number or a boolean as its text. Anything else is null with a
|
|
9
|
+
* `W_STYLE_BAD_VALUE` note; an absent value is null without one.
|
|
10
|
+
* @param raw - the file's value
|
|
11
|
+
* @param site - where it was read
|
|
12
|
+
* @returns the text, or null
|
|
13
|
+
* @category Styles
|
|
14
|
+
*/
|
|
15
|
+
export function canonText(raw, site) {
|
|
16
|
+
spendAt(site, 1);
|
|
17
|
+
if (raw === null || raw === undefined) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
if (typeof raw === "string") {
|
|
21
|
+
spendAt(site, raw.length);
|
|
22
|
+
return raw;
|
|
23
|
+
}
|
|
24
|
+
if ((typeof raw === "number" && Number.isFinite(raw)) || typeof raw === "boolean") {
|
|
25
|
+
return String(raw);
|
|
26
|
+
}
|
|
27
|
+
noteAt(site, STYLE_ISSUE.BAD_VALUE, typeof raw === "number" ? String(raw) : typeof raw);
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The text a DOT label draws, in Graphviz's two passes: first `\N`, `\G`, `\E`, `\T` and `\H` are replaced by the
|
|
32
|
+
* names and every other backslash pair is kept; then `\n`, `\l` and `\r` end a line (a final one adds no empty line)
|
|
33
|
+
* and any other escaped character stands for itself. So a node name holding `\n` breaks the line.
|
|
34
|
+
* @param text - the label as the file gives it
|
|
35
|
+
* @param names - the names to substitute
|
|
36
|
+
* @param site - where it was read, for the budget
|
|
37
|
+
* @returns the label's text
|
|
38
|
+
* @category Styles
|
|
39
|
+
*/
|
|
40
|
+
export function dotLabelText(text, names, site) {
|
|
41
|
+
if (site !== undefined) {
|
|
42
|
+
spendAt(site, text.length);
|
|
43
|
+
}
|
|
44
|
+
const subs = {
|
|
45
|
+
N: names.node,
|
|
46
|
+
G: names.graph,
|
|
47
|
+
E: names.edge,
|
|
48
|
+
T: names.tail,
|
|
49
|
+
H: names.head,
|
|
50
|
+
};
|
|
51
|
+
const first = replaceEscapes(text, (e) => (Object.hasOwn(subs, e) ? subs[e] : undefined) ?? `\\${e}`);
|
|
52
|
+
const out = replaceEscapes(first, (e) => (e === "n" || e === "l" || e === "r" ? "\n" : e));
|
|
53
|
+
return out.endsWith("\n") ? out.slice(0, -1) : out;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* A text with every backslash escape (a backslash and the character after it) replaced; a backslash at the end stays.
|
|
57
|
+
* @param text - the text
|
|
58
|
+
* @param replace - the replacement of an escape, given the escaped character
|
|
59
|
+
* @returns the text
|
|
60
|
+
*/
|
|
61
|
+
function replaceEscapes(text, replace) {
|
|
62
|
+
let out = "";
|
|
63
|
+
let i = 0;
|
|
64
|
+
while (i < text.length) {
|
|
65
|
+
const c = text[i];
|
|
66
|
+
if (c === "\\" && i + 1 < text.length) {
|
|
67
|
+
out += replace(text[i + 1]);
|
|
68
|
+
i += 2;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
out += c;
|
|
72
|
+
i++;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return out;
|
|
76
|
+
}
|
|
77
|
+
/** HTML entity names an HTML-like label may use. */
|
|
78
|
+
const ENTITIES = new Map([
|
|
79
|
+
["amp", "&"],
|
|
80
|
+
["lt", "<"],
|
|
81
|
+
["gt", ">"],
|
|
82
|
+
["quot", '"'],
|
|
83
|
+
["apos", "'"],
|
|
84
|
+
["nbsp", " "],
|
|
85
|
+
]);
|
|
86
|
+
/**
|
|
87
|
+
* Decodes one entity body (`amp`, `#38`, `#x26`).
|
|
88
|
+
* @param body - the text between `&` and `;`
|
|
89
|
+
* @returns the character, or undefined when it is not an entity
|
|
90
|
+
*/
|
|
91
|
+
function entity(body) {
|
|
92
|
+
if (body.startsWith("#")) {
|
|
93
|
+
const hex = body[1] === "x" || body[1] === "X";
|
|
94
|
+
const digits = body.slice(hex ? 2 : 1);
|
|
95
|
+
if (digits === "" || digits.length > 7 || !(hex ? /^[0-9a-f]+$/i : /^\d+$/).test(digits)) {
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
const cp = Number.parseInt(digits, hex ? 16 : 10);
|
|
99
|
+
return cp > 0 && cp <= 0x10ffff ? String.fromCodePoint(cp) : undefined;
|
|
100
|
+
}
|
|
101
|
+
return ENTITIES.get(body.toLowerCase());
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* The text an HTML-like label shows: tags dropped, `<br/>` as a line break, entities decoded, outer blanks trimmed.
|
|
105
|
+
* Notes `W_STYLE_HTML_LABEL` at the site, since the markup is lost.
|
|
106
|
+
* @param html - the label, with or without its outer `<` and `>`
|
|
107
|
+
* @param site - where it was read
|
|
108
|
+
* @returns the label's text
|
|
109
|
+
* @category Styles
|
|
110
|
+
*/
|
|
111
|
+
export function htmlLabelText(html, site) {
|
|
112
|
+
spendAt(site, html.length);
|
|
113
|
+
noteAt(site, STYLE_ISSUE.HTML_LABEL, html);
|
|
114
|
+
const body = html.startsWith("<") && html.endsWith(">") ? html.slice(1, -1) : html;
|
|
115
|
+
let out = "";
|
|
116
|
+
let i = 0;
|
|
117
|
+
while (i < body.length) {
|
|
118
|
+
const c = body[i];
|
|
119
|
+
if (c === "<") {
|
|
120
|
+
const close = body.indexOf(">", i + 1);
|
|
121
|
+
if (close < 0) {
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
if (/^<br\b/i.test(body.slice(i, i + 4))) {
|
|
125
|
+
out += "\n";
|
|
126
|
+
}
|
|
127
|
+
i = close + 1;
|
|
128
|
+
}
|
|
129
|
+
else if (c === "&") {
|
|
130
|
+
const [text, next] = entityAt(body, i);
|
|
131
|
+
out += text;
|
|
132
|
+
i = next;
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
out += c;
|
|
136
|
+
i++;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return out.trim();
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* The entity starting at an `&`, decoded; an `&` that starts none is itself. An entity is at most 9 characters, so
|
|
143
|
+
* the search for its ";" stays short and the pass stays linear.
|
|
144
|
+
* @param body - the text
|
|
145
|
+
* @param i - the offset of the `&`
|
|
146
|
+
* @returns the text it stands for and the offset after it
|
|
147
|
+
*/
|
|
148
|
+
function entityAt(body, i) {
|
|
149
|
+
const near = body.slice(i + 1, i + 10).indexOf(";");
|
|
150
|
+
const semi = near < 0 ? -1 : i + 1 + near;
|
|
151
|
+
const decoded = semi > i ? entity(body.slice(i + 1, semi)) : undefined;
|
|
152
|
+
return decoded === undefined ? ["&", i + 1] : [decoded, semi + 1];
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* The text a Graphviz record label shows: its fields (`<f0> left|<f1> mid|{a|b}`) without their port names, trimmed,
|
|
156
|
+
* empty ones left out, joined with " | ". Notes `W_STYLE_RECORD_LABEL` at the site, since the boxes are lost.
|
|
157
|
+
* @param label - the record label
|
|
158
|
+
* @param site - where it was read
|
|
159
|
+
* @returns the fields' text
|
|
160
|
+
* @category Styles
|
|
161
|
+
*/
|
|
162
|
+
export function recordLabelText(label, site) {
|
|
163
|
+
spendAt(site, label.length);
|
|
164
|
+
noteAt(site, STYLE_ISSUE.RECORD_LABEL, label);
|
|
165
|
+
const fields = [];
|
|
166
|
+
let field = "";
|
|
167
|
+
const flush = () => {
|
|
168
|
+
const t = field.trim();
|
|
169
|
+
if (t !== "") {
|
|
170
|
+
fields.push(t);
|
|
171
|
+
}
|
|
172
|
+
field = "";
|
|
173
|
+
};
|
|
174
|
+
let i = 0;
|
|
175
|
+
while (i < label.length) {
|
|
176
|
+
const c = label[i];
|
|
177
|
+
if (c === "\\" && i + 1 < label.length && "|{}<> ".includes(label[i + 1])) {
|
|
178
|
+
field += label[i + 1];
|
|
179
|
+
i += 2;
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
if (c === "<") {
|
|
183
|
+
// a port name runs to its ">"
|
|
184
|
+
const close = label.indexOf(">", i + 1);
|
|
185
|
+
i = close < 0 ? label.length : close + 1;
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
if (c === "|" || c === "{" || c === "}") {
|
|
189
|
+
flush();
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
field += c;
|
|
193
|
+
}
|
|
194
|
+
i++;
|
|
195
|
+
}
|
|
196
|
+
flush();
|
|
197
|
+
return fields.join(" | ");
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../../../src/styles/canon/text.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The codes of every style condition graph-io reports: the notes attached to a file's styles (`W_STYLE_*`), the
|
|
3
|
+
* import and export report codes about styles as a whole (`W_STYLES_*`), and the one error (`E_STYLES_MISMATCH`).
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Every style code by name. A key is the code without its `E_` / `W_` and `STYLE_` / `STYLES_` prefixes. Every style
|
|
7
|
+
* condition is a warning except `MISMATCH`; none counts toward an import's `errorLimit`.
|
|
8
|
+
* @category Styles
|
|
9
|
+
*/
|
|
10
|
+
export declare const STYLE_ISSUE: Readonly<{
|
|
11
|
+
/** A value longer than 256 characters was not parsed. */
|
|
12
|
+
VALUE_TOO_LONG: "W_STYLE_VALUE_TOO_LONG";
|
|
13
|
+
/** A value does not parse in the file's dialect (an unknown color name, a non-number, a negative length). */
|
|
14
|
+
BAD_VALUE: "W_STYLE_BAD_VALUE";
|
|
15
|
+
/** An enumeration value the vocabulary has no name for; kept as `other:<value>`. */
|
|
16
|
+
UNKNOWN_VALUE: "W_STYLE_UNKNOWN_VALUE";
|
|
17
|
+
/** A color's alpha was dropped because the property has no opacity to carry it. */
|
|
18
|
+
ALPHA_DROPPED: "W_STYLE_ALPHA_DROPPED";
|
|
19
|
+
/** A list of colors where one color is expected; the tool draws it its own way and the first is not taken. */
|
|
20
|
+
COLOR_LIST: "W_STYLE_COLOR_LIST";
|
|
21
|
+
/** A gradient fill; its first color is kept. */
|
|
22
|
+
GRADIENT: "W_STYLE_GRADIENT";
|
|
23
|
+
/** A node the tool draws unfilled although the file gives it a fill color. */
|
|
24
|
+
UNFILLED: "W_STYLE_UNFILLED";
|
|
25
|
+
/** A node fill the file marks as transparent or absent. */
|
|
26
|
+
NO_FILL: "W_STYLE_NO_FILL";
|
|
27
|
+
/** An edge stroke the file marks as absent. */
|
|
28
|
+
NO_STROKE: "W_STYLE_NO_STROKE";
|
|
29
|
+
/** The tool grows a node to fit its label, so the stated size is a minimum. */
|
|
30
|
+
SIZE_MINIMUM: "W_STYLE_SIZE_MINIMUM";
|
|
31
|
+
/** An HTML-like label: its text is kept and its markup dropped. */
|
|
32
|
+
HTML_LABEL: "W_STYLE_HTML_LABEL";
|
|
33
|
+
/** A record label: its fields are joined with " | ". */
|
|
34
|
+
RECORD_LABEL: "W_STYLE_RECORD_LABEL";
|
|
35
|
+
/** An element carries more than one label; the first is kept. */
|
|
36
|
+
EXTRA_LABELS: "W_STYLE_EXTRA_LABELS";
|
|
37
|
+
/** A color that inherits from the edge's ends in a way the vocabulary cannot express. */
|
|
38
|
+
INHERIT_COLOR: "W_STYLE_INHERIT_COLOR";
|
|
39
|
+
/** A style property the vocabulary has no counterpart for was not carried. */
|
|
40
|
+
NOT_CARRIED: "W_STYLE_NOT_CARRIED";
|
|
41
|
+
/** A declared mapping that cannot be read. */
|
|
42
|
+
BAD_MAPPING: "W_STYLE_BAD_MAPPING";
|
|
43
|
+
/** A declared mapping reads a column the file does not have. */
|
|
44
|
+
MAPPING_COLUMN_MISSING: "W_STYLE_MAPPING_COLUMN_MISSING";
|
|
45
|
+
/** References between style records that are circular or too deep; the rest are read. */
|
|
46
|
+
REFERENCE_CYCLE: "W_STYLE_REFERENCE_CYCLE";
|
|
47
|
+
/** A style reference that names nothing in the file. */
|
|
48
|
+
UNRESOLVED: "W_STYLE_UNRESOLVED";
|
|
49
|
+
/** Style structures nested deeper than graph-io reads. */
|
|
50
|
+
NESTING: "W_STYLE_NESTING";
|
|
51
|
+
/** A style section that cannot be read at all. */
|
|
52
|
+
UNREADABLE: "W_STYLE_UNREADABLE";
|
|
53
|
+
/** A Cytoscape session without its visual styles; the tool's fallbacks apply. */
|
|
54
|
+
NO_VIZMAP: "W_STYLE_NO_VIZMAP";
|
|
55
|
+
/** The view names a visual style the file does not hold. */
|
|
56
|
+
VIEW_STYLE_MISSING: "W_STYLE_VIEW_STYLE_MISSING";
|
|
57
|
+
/** The file holds more visual styles than the one its view uses; the others are not read. */
|
|
58
|
+
OTHER_STYLES: "W_STYLE_OTHER_STYLES";
|
|
59
|
+
/** The file holds more views than one; only the first view's styles are read. */
|
|
60
|
+
OTHER_VIEWS: "W_STYLE_OTHER_VIEWS";
|
|
61
|
+
/** A selector the tool treats as invalid, which matches every element there. */
|
|
62
|
+
SELECTOR: "W_STYLE_SELECTOR";
|
|
63
|
+
/** A selector a short predicate cannot express; its members are marked on the elements instead. */
|
|
64
|
+
SELECTOR_AS_COLUMN: "W_STYLE_SELECTOR_AS_COLUMN";
|
|
65
|
+
/** A selector state that changes while the tool runs (selected, hovered), evaluated as at load. */
|
|
66
|
+
STATE_ASSUMED: "W_STYLE_STATE_ASSUMED";
|
|
67
|
+
/** A continuous mapping matches the file's values only within the tool's rounding. */
|
|
68
|
+
RAMP_ROUNDED: "W_STYLE_RAMP_ROUNDED";
|
|
69
|
+
/** Rules were folded into a copy to keep the number of rules per kind bounded. */
|
|
70
|
+
LAYER_CAP: "W_STYLE_LAYER_CAP";
|
|
71
|
+
/** The counted work budget ran out; the values not yet explained are copied per element. */
|
|
72
|
+
BUDGET: "W_STYLE_BUDGET";
|
|
73
|
+
/** A `graphty.styles` block was ignored, with a reason code; the file is read like any other. */
|
|
74
|
+
BLOCK_IGNORED: "W_STYLE_BLOCK_IGNORED";
|
|
75
|
+
/** The format has no place for this property; it is not written. */
|
|
76
|
+
NOT_WRITTEN: "W_STYLE_NOT_WRITTEN";
|
|
77
|
+
/** Written as the nearest value the format allows. */
|
|
78
|
+
APPROXIMATED: "W_STYLE_APPROXIMATED";
|
|
79
|
+
/** Per-element values were written but not the rules; importing the file infers them again. */
|
|
80
|
+
RULES_NOT_KEPT: "W_STYLE_RULES_NOT_KEPT";
|
|
81
|
+
/** A style was written as its per-element values and lost its editable form, with a reason code. */
|
|
82
|
+
LAYER_FLATTENED: "W_STYLE_LAYER_FLATTENED";
|
|
83
|
+
/** The file holds styles that were not imported; import them with the `styles` option. */
|
|
84
|
+
NOT_IMPORTED: "W_STYLES_NOT_IMPORTED";
|
|
85
|
+
/** The graph has styles that were not exported; export them with the `styles` option. */
|
|
86
|
+
NOT_EXPORTED: "W_STYLES_NOT_EXPORTED";
|
|
87
|
+
/** The styles were read from or built for a different graph; nothing is written. */
|
|
88
|
+
MISMATCH: "E_STYLES_MISMATCH";
|
|
89
|
+
}>;
|
|
90
|
+
/**
|
|
91
|
+
* Any style code.
|
|
92
|
+
* @category Styles
|
|
93
|
+
*/
|
|
94
|
+
export type StyleIssueCode = (typeof STYLE_ISSUE)[keyof typeof STYLE_ISSUE];
|
|
95
|
+
//# sourceMappingURL=codes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../../src/styles/codes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;GAIG;AACH,eAAO,MAAM,WAAW;IAEpB,yDAAyD;;IAEzD,6GAA6G;;IAE7G,oFAAoF;;IAEpF,mFAAmF;;IAEnF,8GAA8G;;IAE9G,gDAAgD;;IAEhD,8EAA8E;;IAE9E,2DAA2D;;IAE3D,+CAA+C;;IAE/C,+EAA+E;;IAE/E,mEAAmE;;IAEnE,wDAAwD;;IAExD,iEAAiE;;IAEjE,yFAAyF;;IAEzF,8EAA8E;;IAG9E,8CAA8C;;IAE9C,gEAAgE;;IAEhE,yFAAyF;;IAEzF,wDAAwD;;IAExD,0DAA0D;;IAE1D,kDAAkD;;IAElD,iFAAiF;;IAEjF,4DAA4D;;IAE5D,6FAA6F;;IAE7F,iFAAiF;;IAEjF,gFAAgF;;IAEhF,mGAAmG;;IAEnG,mGAAmG;;IAGnG,sFAAsF;;IAEtF,kFAAkF;;IAElF,4FAA4F;;IAG5F,iGAAiG;;IAGjG,oEAAoE;;IAEpE,sDAAsD;;IAEtD,+FAA+F;;IAE/F,oGAAoG;;IAGpG,0FAA0F;;IAE1F,yFAAyF;;IAEzF,oFAAoF;;EAEtF,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC"}
|