@graphty/graph-io 0.3.25 → 0.3.27
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/README.md +49 -414
- package/dist/chunks/children-CL3Cy0ez.js.map +1 -1
- package/dist/chunks/choose-DrXtu_96.js +56 -0
- package/dist/chunks/choose-DrXtu_96.js.map +1 -0
- package/dist/chunks/constants-ikG85dT8.js +231 -0
- package/dist/chunks/constants-ikG85dT8.js.map +1 -0
- package/dist/chunks/{escape-B-tkk_Cl.js → escape-D1HPTUrP.js} +390 -99
- package/dist/chunks/escape-D1HPTUrP.js.map +1 -0
- package/dist/chunks/export-CHd4tQE2.js +4333 -0
- package/dist/chunks/export-CHd4tQE2.js.map +1 -0
- package/dist/chunks/{importer-eUREhBGj.js → exporter-D23CKNqF.js} +4969 -3201
- package/dist/chunks/exporter-D23CKNqF.js.map +1 -0
- package/dist/chunks/{exporter-DIeGJXAZ.js → exporter-DfWTgrti.js} +23 -21
- package/dist/chunks/exporter-DfWTgrti.js.map +1 -0
- package/dist/chunks/exporter-DhtW6FxK.js +3465 -0
- package/dist/chunks/exporter-DhtW6FxK.js.map +1 -0
- package/dist/chunks/{exporter-BGrsWamJ.js → exporter-IHv4nkCm.js} +38 -229
- package/dist/chunks/exporter-IHv4nkCm.js.map +1 -0
- package/dist/chunks/{importer-BWY2FFc5.js → importer-B1wmPQjr.js} +255 -77
- package/dist/chunks/importer-B1wmPQjr.js.map +1 -0
- package/dist/chunks/{importer-D_e7e7LX.js → importer-B2W_58pz.js} +399 -146
- package/dist/chunks/importer-B2W_58pz.js.map +1 -0
- package/dist/chunks/importer-BSALvkui.js +2811 -0
- package/dist/chunks/importer-BSALvkui.js.map +1 -0
- package/dist/chunks/{importer-vi3bSdtw.js → importer-BVRE--Un.js} +510 -77
- package/dist/chunks/importer-BVRE--Un.js.map +1 -0
- package/dist/chunks/{importer-DET1tg6s.js → importer-CIAzt-wo.js} +1689 -312
- package/dist/chunks/importer-CIAzt-wo.js.map +1 -0
- package/dist/chunks/{importer-DIrbbnAf.js → importer-DpEW5zeG.js} +585 -226
- package/dist/chunks/importer-DpEW5zeG.js.map +1 -0
- package/dist/chunks/{importer-zGLo8Dg_.js → importer-z_FL4VMb.js} +488 -161
- package/dist/chunks/importer-z_FL4VMb.js.map +1 -0
- package/dist/chunks/json-elements-BAmNBZok.js +1225 -0
- package/dist/chunks/json-elements-BAmNBZok.js.map +1 -0
- package/dist/chunks/ontology-export-Bab4eUA8.js +357 -0
- package/dist/chunks/ontology-export-Bab4eUA8.js.map +1 -0
- package/dist/chunks/{records-dbRkxwaq.js → records-CdlvL4RO.js} +298 -114
- package/dist/chunks/records-CdlvL4RO.js.map +1 -0
- package/dist/chunks/{text-Dr0Ifpag.js → text-DzXjAiTl.js} +29 -11
- package/dist/chunks/text-DzXjAiTl.js.map +1 -0
- package/dist/chunks/{writer-C7flM-Ih.js → writer-DxjgHwSe.js} +19 -1
- package/dist/chunks/writer-DxjgHwSe.js.map +1 -0
- package/dist/csv.js +952 -262
- package/dist/csv.js.map +1 -1
- package/dist/cx.js +6 -3
- package/dist/cx2.js +2 -2
- package/dist/cys.js +6 -3
- package/dist/dot.js +1 -1
- package/dist/gexf.js +554 -122
- package/dist/gexf.js.map +1 -1
- package/dist/gml.js +344 -87
- package/dist/gml.js.map +1 -1
- package/dist/graph-io.js +1105 -213
- package/dist/graph-io.js.map +1 -1
- package/dist/graphml.js +3 -2
- package/dist/graphml.js.map +1 -1
- package/dist/json.js +3 -2
- package/dist/neo4j.js +565 -158
- package/dist/neo4j.js.map +1 -1
- package/dist/obo.js +6 -3
- package/dist/pajek.js +1 -1
- package/dist/src/children.d.ts +18 -6
- package/dist/src/children.d.ts.map +1 -1
- package/dist/src/children.js +6 -3
- package/dist/src/children.js.map +1 -1
- package/dist/src/common/attributes.d.ts +29 -11
- package/dist/src/common/attributes.d.ts.map +1 -1
- package/dist/src/common/attributes.js +25 -7
- package/dist/src/common/attributes.js.map +1 -1
- package/dist/src/common/cell-budget.d.ts +9 -2
- package/dist/src/common/cell-budget.d.ts.map +1 -1
- package/dist/src/common/cell-budget.js +11 -3
- package/dist/src/common/cell-budget.js.map +1 -1
- package/dist/src/common/choose.d.ts +19 -0
- package/dist/src/common/choose.d.ts.map +1 -0
- package/dist/src/common/choose.js +72 -0
- package/dist/src/common/choose.js.map +1 -0
- package/dist/src/common/codes.d.ts +456 -66
- package/dist/src/common/codes.d.ts.map +1 -1
- package/dist/src/common/codes.js +458 -66
- package/dist/src/common/codes.js.map +1 -1
- package/dist/src/common/compare.d.ts +81 -0
- package/dist/src/common/compare.d.ts.map +1 -0
- package/dist/src/common/compare.js +394 -0
- package/dist/src/common/compare.js.map +1 -0
- package/dist/src/common/cx-export.d.ts +123 -0
- package/dist/src/common/cx-export.d.ts.map +1 -0
- package/dist/src/common/cx-export.js +334 -0
- package/dist/src/common/cx-export.js.map +1 -0
- package/dist/src/common/declared-types.d.ts +22 -2
- package/dist/src/common/declared-types.d.ts.map +1 -1
- package/dist/src/common/declared-types.js +21 -3
- package/dist/src/common/declared-types.js.map +1 -1
- package/dist/src/common/direction.d.ts +74 -50
- package/dist/src/common/direction.d.ts.map +1 -1
- package/dist/src/common/direction.js +47 -27
- package/dist/src/common/direction.js.map +1 -1
- package/dist/src/common/escape.d.ts +21 -9
- package/dist/src/common/escape.d.ts.map +1 -1
- package/dist/src/common/escape.js +39 -22
- package/dist/src/common/escape.js.map +1 -1
- package/dist/src/common/export.d.ts +144 -32
- package/dist/src/common/export.d.ts.map +1 -1
- package/dist/src/common/export.js +216 -42
- package/dist/src/common/export.js.map +1 -1
- package/dist/src/common/format.d.ts +23 -1
- package/dist/src/common/format.d.ts.map +1 -1
- package/dist/src/common/format.js +26 -1
- package/dist/src/common/format.js.map +1 -1
- package/dist/src/common/ids.d.ts +9 -2
- package/dist/src/common/ids.d.ts.map +1 -1
- package/dist/src/common/ids.js +6 -2
- package/dist/src/common/ids.js.map +1 -1
- package/dist/src/common/input.d.ts +122 -28
- package/dist/src/common/input.d.ts.map +1 -1
- package/dist/src/common/input.js +890 -124
- package/dist/src/common/input.js.map +1 -1
- package/dist/src/common/json-elements.d.ts +144 -20
- package/dist/src/common/json-elements.d.ts.map +1 -1
- package/dist/src/common/json-elements.js +869 -189
- package/dist/src/common/json-elements.js.map +1 -1
- package/dist/src/common/line-format.d.ts +90 -0
- package/dist/src/common/line-format.d.ts.map +1 -0
- package/dist/src/common/line-format.js +185 -0
- package/dist/src/common/line-format.js.map +1 -0
- package/dist/src/common/lists.d.ts +6 -1
- package/dist/src/common/lists.d.ts.map +1 -1
- package/dist/src/common/lists.js +3 -1
- package/dist/src/common/lists.js.map +1 -1
- package/dist/src/common/ontology-export.d.ts +167 -0
- package/dist/src/common/ontology-export.d.ts.map +1 -0
- package/dist/src/common/ontology-export.js +359 -0
- package/dist/src/common/ontology-export.js.map +1 -0
- package/dist/src/common/ontology.d.ts +25 -3
- package/dist/src/common/ontology.d.ts.map +1 -1
- package/dist/src/common/ontology.js +30 -9
- package/dist/src/common/ontology.js.map +1 -1
- package/dist/src/common/options.d.ts +62 -12
- package/dist/src/common/options.d.ts.map +1 -1
- package/dist/src/common/options.js +89 -11
- package/dist/src/common/options.js.map +1 -1
- package/dist/src/common/plural.d.ts +31 -0
- package/dist/src/common/plural.d.ts.map +1 -0
- package/dist/src/common/plural.js +46 -0
- package/dist/src/common/plural.js.map +1 -0
- package/dist/src/common/report.d.ts +72 -14
- package/dist/src/common/report.d.ts.map +1 -1
- package/dist/src/common/report.js +146 -22
- package/dist/src/common/report.js.map +1 -1
- package/dist/src/common/temporal.d.ts +22 -5
- package/dist/src/common/temporal.d.ts.map +1 -1
- package/dist/src/common/temporal.js +13 -2
- package/dist/src/common/temporal.js.map +1 -1
- package/dist/src/common/text.d.ts +39 -23
- package/dist/src/common/text.d.ts.map +1 -1
- package/dist/src/common/text.js +51 -21
- package/dist/src/common/text.js.map +1 -1
- package/dist/src/common/weights.d.ts +37 -4
- package/dist/src/common/weights.d.ts.map +1 -1
- package/dist/src/common/weights.js +61 -2
- package/dist/src/common/weights.js.map +1 -1
- package/dist/src/common/writer.d.ts +19 -3
- package/dist/src/common/writer.d.ts.map +1 -1
- package/dist/src/common/writer.js +30 -2
- package/dist/src/common/writer.js.map +1 -1
- package/dist/src/common/xml.d.ts +125 -9
- package/dist/src/common/xml.d.ts.map +1 -1
- package/dist/src/common/xml.js +402 -85
- package/dist/src/common/xml.js.map +1 -1
- package/dist/src/common/zip.d.ts +44 -4
- package/dist/src/common/zip.d.ts.map +1 -1
- package/dist/src/common/zip.js +134 -5
- package/dist/src/common/zip.js.map +1 -1
- package/dist/src/formats/csv/exporter.d.ts +80 -24
- package/dist/src/formats/csv/exporter.d.ts.map +1 -1
- package/dist/src/formats/csv/exporter.js +146 -33
- package/dist/src/formats/csv/exporter.js.map +1 -1
- package/dist/src/formats/csv/header.d.ts +38 -9
- package/dist/src/formats/csv/header.d.ts.map +1 -1
- package/dist/src/formats/csv/header.js +46 -10
- package/dist/src/formats/csv/header.js.map +1 -1
- package/dist/src/formats/csv/importer.d.ts +187 -37
- package/dist/src/formats/csv/importer.d.ts.map +1 -1
- package/dist/src/formats/csv/importer.js +835 -204
- package/dist/src/formats/csv/importer.js.map +1 -1
- package/dist/src/formats/csv/index.d.ts +100 -19
- package/dist/src/formats/csv/index.d.ts.map +1 -1
- package/dist/src/formats/csv/index.js +94 -21
- package/dist/src/formats/csv/index.js.map +1 -1
- package/dist/src/formats/csv/records.d.ts +95 -10
- package/dist/src/formats/csv/records.d.ts.map +1 -1
- package/dist/src/formats/csv/records.js +333 -122
- package/dist/src/formats/csv/records.js.map +1 -1
- package/dist/src/formats/csv/values.d.ts +1 -0
- package/dist/src/formats/csv/values.d.ts.map +1 -1
- package/dist/src/formats/csv/values.js +1 -0
- package/dist/src/formats/csv/values.js.map +1 -1
- package/dist/src/formats/cx/exporter.d.ts +102 -0
- package/dist/src/formats/cx/exporter.d.ts.map +1 -0
- package/dist/src/formats/cx/exporter.js +1217 -0
- package/dist/src/formats/cx/exporter.js.map +1 -0
- package/dist/src/formats/cx/importer.d.ts +79 -32
- package/dist/src/formats/cx/importer.d.ts.map +1 -1
- package/dist/src/formats/cx/importer.js +682 -287
- package/dist/src/formats/cx/importer.js.map +1 -1
- package/dist/src/formats/cx/index.d.ts +4 -3
- package/dist/src/formats/cx/index.d.ts.map +1 -1
- package/dist/src/formats/cx/index.js +4 -3
- package/dist/src/formats/cx/index.js.map +1 -1
- package/dist/src/formats/cx2/exporter.d.ts +29 -11
- package/dist/src/formats/cx2/exporter.d.ts.map +1 -1
- package/dist/src/formats/cx2/exporter.js +39 -268
- package/dist/src/formats/cx2/exporter.js.map +1 -1
- package/dist/src/formats/cx2/importer.d.ts +78 -28
- package/dist/src/formats/cx2/importer.d.ts.map +1 -1
- package/dist/src/formats/cx2/importer.js +227 -80
- package/dist/src/formats/cx2/importer.js.map +1 -1
- package/dist/src/formats/cx2/index.d.ts +2 -1
- package/dist/src/formats/cx2/index.d.ts.map +1 -1
- package/dist/src/formats/cx2/index.js +2 -1
- package/dist/src/formats/cx2/index.js.map +1 -1
- package/dist/src/formats/cys/constants.d.ts +66 -17
- package/dist/src/formats/cys/constants.d.ts.map +1 -1
- package/dist/src/formats/cys/constants.js +59 -18
- package/dist/src/formats/cys/constants.js.map +1 -1
- package/dist/src/formats/cys/exporter.d.ts +118 -0
- package/dist/src/formats/cys/exporter.d.ts.map +1 -0
- package/dist/src/formats/cys/exporter.js +1072 -0
- package/dist/src/formats/cys/exporter.js.map +1 -0
- package/dist/src/formats/cys/importer.d.ts +22 -8
- package/dist/src/formats/cys/importer.d.ts.map +1 -1
- package/dist/src/formats/cys/importer.js +510 -149
- package/dist/src/formats/cys/importer.js.map +1 -1
- package/dist/src/formats/cys/index.d.ts +4 -2
- package/dist/src/formats/cys/index.d.ts.map +1 -1
- package/dist/src/formats/cys/index.js +4 -2
- package/dist/src/formats/cys/index.js.map +1 -1
- package/dist/src/formats/cys/session.d.ts +46 -7
- package/dist/src/formats/cys/session.d.ts.map +1 -1
- package/dist/src/formats/cys/session.js +101 -27
- package/dist/src/formats/cys/session.js.map +1 -1
- package/dist/src/formats/cys/tables.d.ts +9 -2
- package/dist/src/formats/cys/tables.d.ts.map +1 -1
- package/dist/src/formats/cys/tables.js +29 -7
- package/dist/src/formats/cys/tables.js.map +1 -1
- package/dist/src/formats/dot/exporter.d.ts +42 -14
- package/dist/src/formats/dot/exporter.d.ts.map +1 -1
- package/dist/src/formats/dot/exporter.js +56 -29
- package/dist/src/formats/dot/exporter.js.map +1 -1
- package/dist/src/formats/dot/importer.d.ts +91 -29
- package/dist/src/formats/dot/importer.d.ts.map +1 -1
- package/dist/src/formats/dot/importer.js +190 -39
- package/dist/src/formats/dot/importer.js.map +1 -1
- package/dist/src/formats/dot/index.d.ts +2 -1
- package/dist/src/formats/dot/index.d.ts.map +1 -1
- package/dist/src/formats/dot/index.js +2 -1
- package/dist/src/formats/dot/index.js.map +1 -1
- package/dist/src/formats/dot/names.d.ts +44 -11
- package/dist/src/formats/dot/names.d.ts.map +1 -1
- package/dist/src/formats/dot/names.js +44 -11
- package/dist/src/formats/dot/names.js.map +1 -1
- package/dist/src/formats/dot/tokenizer.d.ts +9 -2
- package/dist/src/formats/dot/tokenizer.d.ts.map +1 -1
- package/dist/src/formats/dot/tokenizer.js +20 -5
- package/dist/src/formats/dot/tokenizer.js.map +1 -1
- package/dist/src/formats/gexf/exporter.d.ts +46 -15
- package/dist/src/formats/gexf/exporter.d.ts.map +1 -1
- package/dist/src/formats/gexf/exporter.js +45 -15
- package/dist/src/formats/gexf/exporter.js.map +1 -1
- package/dist/src/formats/gexf/importer.d.ts +87 -23
- package/dist/src/formats/gexf/importer.d.ts.map +1 -1
- package/dist/src/formats/gexf/importer.js +471 -90
- package/dist/src/formats/gexf/importer.js.map +1 -1
- package/dist/src/formats/gexf/index.d.ts +84 -21
- package/dist/src/formats/gexf/index.d.ts.map +1 -1
- package/dist/src/formats/gexf/index.js +80 -23
- package/dist/src/formats/gexf/index.js.map +1 -1
- package/dist/src/formats/gexf/schema.d.ts +67 -15
- package/dist/src/formats/gexf/schema.d.ts.map +1 -1
- package/dist/src/formats/gexf/schema.js +59 -13
- package/dist/src/formats/gexf/schema.js.map +1 -1
- package/dist/src/formats/gml/exporter.d.ts +69 -21
- package/dist/src/formats/gml/exporter.d.ts.map +1 -1
- package/dist/src/formats/gml/exporter.js +74 -29
- package/dist/src/formats/gml/exporter.js.map +1 -1
- package/dist/src/formats/gml/importer.d.ts +116 -25
- package/dist/src/formats/gml/importer.d.ts.map +1 -1
- package/dist/src/formats/gml/importer.js +290 -61
- package/dist/src/formats/gml/importer.js.map +1 -1
- package/dist/src/formats/gml/index.d.ts +87 -24
- package/dist/src/formats/gml/index.d.ts.map +1 -1
- package/dist/src/formats/gml/index.js +79 -26
- package/dist/src/formats/gml/index.js.map +1 -1
- package/dist/src/formats/gml/syntax.d.ts +67 -18
- package/dist/src/formats/gml/syntax.d.ts.map +1 -1
- package/dist/src/formats/gml/syntax.js +110 -28
- package/dist/src/formats/gml/syntax.js.map +1 -1
- package/dist/src/formats/graphml/constants.d.ts +174 -44
- package/dist/src/formats/graphml/constants.d.ts.map +1 -1
- package/dist/src/formats/graphml/constants.js +165 -44
- package/dist/src/formats/graphml/constants.js.map +1 -1
- package/dist/src/formats/graphml/exporter.d.ts +17 -9
- package/dist/src/formats/graphml/exporter.d.ts.map +1 -1
- package/dist/src/formats/graphml/exporter.js +33 -12
- package/dist/src/formats/graphml/exporter.js.map +1 -1
- package/dist/src/formats/graphml/importer.d.ts +19 -7
- package/dist/src/formats/graphml/importer.d.ts.map +1 -1
- package/dist/src/formats/graphml/importer.js +466 -39
- package/dist/src/formats/graphml/importer.js.map +1 -1
- package/dist/src/formats/graphml/index.d.ts +2 -1
- package/dist/src/formats/graphml/index.d.ts.map +1 -1
- package/dist/src/formats/graphml/index.js +2 -1
- package/dist/src/formats/graphml/index.js.map +1 -1
- package/dist/src/formats/graphml/tree.d.ts +6 -2
- package/dist/src/formats/graphml/tree.d.ts.map +1 -1
- package/dist/src/formats/graphml/tree.js +6 -2
- package/dist/src/formats/graphml/tree.js.map +1 -1
- package/dist/src/formats/graphml/yfiles.d.ts +8 -3
- package/dist/src/formats/graphml/yfiles.d.ts.map +1 -1
- package/dist/src/formats/graphml/yfiles.js +36 -15
- package/dist/src/formats/graphml/yfiles.js.map +1 -1
- package/dist/src/formats/json/dialect.d.ts +88 -24
- package/dist/src/formats/json/dialect.d.ts.map +1 -1
- package/dist/src/formats/json/dialect.js +109 -19
- package/dist/src/formats/json/dialect.js.map +1 -1
- package/dist/src/formats/json/exporter.d.ts +134 -22
- package/dist/src/formats/json/exporter.d.ts.map +1 -1
- package/dist/src/formats/json/exporter.js +135 -54
- package/dist/src/formats/json/exporter.js.map +1 -1
- package/dist/src/formats/json/importer.d.ts +173 -52
- package/dist/src/formats/json/importer.d.ts.map +1 -1
- package/dist/src/formats/json/importer.js +899 -220
- package/dist/src/formats/json/importer.js.map +1 -1
- package/dist/src/formats/json/index.d.ts +3 -2
- package/dist/src/formats/json/index.d.ts.map +1 -1
- package/dist/src/formats/json/index.js +3 -2
- package/dist/src/formats/json/index.js.map +1 -1
- package/dist/src/formats/json/obographs-export.d.ts +68 -0
- package/dist/src/formats/json/obographs-export.d.ts.map +1 -0
- package/dist/src/formats/json/obographs-export.js +941 -0
- package/dist/src/formats/json/obographs-export.js.map +1 -0
- package/dist/src/formats/json/obographs.d.ts +26 -0
- package/dist/src/formats/json/obographs.d.ts.map +1 -1
- package/dist/src/formats/json/obographs.js +297 -80
- package/dist/src/formats/json/obographs.js.map +1 -1
- package/dist/src/formats/neo4j/exporter.d.ts +109 -21
- package/dist/src/formats/neo4j/exporter.d.ts.map +1 -1
- package/dist/src/formats/neo4j/exporter.js +239 -86
- package/dist/src/formats/neo4j/exporter.js.map +1 -1
- package/dist/src/formats/neo4j/header.d.ts +17 -4
- package/dist/src/formats/neo4j/header.d.ts.map +1 -1
- package/dist/src/formats/neo4j/header.js +36 -4
- package/dist/src/formats/neo4j/header.js.map +1 -1
- package/dist/src/formats/neo4j/importer.d.ts +107 -27
- package/dist/src/formats/neo4j/importer.d.ts.map +1 -1
- package/dist/src/formats/neo4j/importer.js +415 -63
- package/dist/src/formats/neo4j/importer.js.map +1 -1
- package/dist/src/formats/neo4j/index.d.ts +73 -23
- package/dist/src/formats/neo4j/index.d.ts.map +1 -1
- package/dist/src/formats/neo4j/index.js +65 -25
- package/dist/src/formats/neo4j/index.js.map +1 -1
- package/dist/src/formats/obo/exporter.d.ts +150 -0
- package/dist/src/formats/obo/exporter.d.ts.map +1 -0
- package/dist/src/formats/obo/exporter.js +1736 -0
- package/dist/src/formats/obo/exporter.js.map +1 -0
- package/dist/src/formats/obo/importer.d.ts +95 -19
- package/dist/src/formats/obo/importer.d.ts.map +1 -1
- package/dist/src/formats/obo/importer.js +475 -104
- package/dist/src/formats/obo/importer.js.map +1 -1
- package/dist/src/formats/obo/index.d.ts +6 -3
- package/dist/src/formats/obo/index.d.ts.map +1 -1
- package/dist/src/formats/obo/index.js +6 -3
- package/dist/src/formats/obo/index.js.map +1 -1
- package/dist/src/formats/obo/syntax.d.ts +108 -4
- package/dist/src/formats/obo/syntax.d.ts.map +1 -1
- package/dist/src/formats/obo/syntax.js +211 -34
- package/dist/src/formats/obo/syntax.js.map +1 -1
- package/dist/src/formats/pajek/exporter.d.ts +54 -16
- package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
- package/dist/src/formats/pajek/exporter.js +67 -35
- package/dist/src/formats/pajek/exporter.js.map +1 -1
- package/dist/src/formats/pajek/importer.d.ts +84 -22
- package/dist/src/formats/pajek/importer.d.ts.map +1 -1
- package/dist/src/formats/pajek/importer.js +303 -83
- package/dist/src/formats/pajek/importer.js.map +1 -1
- package/dist/src/formats/pajek/index.d.ts +2 -1
- package/dist/src/formats/pajek/index.d.ts.map +1 -1
- package/dist/src/formats/pajek/index.js +2 -1
- package/dist/src/formats/pajek/index.js.map +1 -1
- package/dist/src/formats/pajek/syntax.d.ts +77 -14
- package/dist/src/formats/pajek/syntax.d.ts.map +1 -1
- package/dist/src/formats/pajek/syntax.js +186 -54
- package/dist/src/formats/pajek/syntax.js.map +1 -1
- package/dist/src/formats/xgmml/columns.d.ts +1 -0
- package/dist/src/formats/xgmml/columns.d.ts.map +1 -1
- package/dist/src/formats/xgmml/columns.js +4 -0
- package/dist/src/formats/xgmml/columns.js.map +1 -1
- package/dist/src/formats/xgmml/constants.d.ts +186 -56
- package/dist/src/formats/xgmml/constants.d.ts.map +1 -1
- package/dist/src/formats/xgmml/constants.js +181 -57
- package/dist/src/formats/xgmml/constants.js.map +1 -1
- package/dist/src/formats/xgmml/document.d.ts +65 -11
- package/dist/src/formats/xgmml/document.d.ts.map +1 -1
- package/dist/src/formats/xgmml/document.js +157 -28
- package/dist/src/formats/xgmml/document.js.map +1 -1
- package/dist/src/formats/xgmml/emit.d.ts +61 -3
- package/dist/src/formats/xgmml/emit.d.ts.map +1 -1
- package/dist/src/formats/xgmml/emit.js +129 -26
- package/dist/src/formats/xgmml/emit.js.map +1 -1
- package/dist/src/formats/xgmml/exporter.d.ts +13 -6
- package/dist/src/formats/xgmml/exporter.d.ts.map +1 -1
- package/dist/src/formats/xgmml/exporter.js +21 -22
- package/dist/src/formats/xgmml/exporter.js.map +1 -1
- package/dist/src/formats/xgmml/importer.d.ts +33 -12
- package/dist/src/formats/xgmml/importer.d.ts.map +1 -1
- package/dist/src/formats/xgmml/importer.js +35 -72
- package/dist/src/formats/xgmml/importer.js.map +1 -1
- package/dist/src/formats/xgmml/index.d.ts +1 -0
- package/dist/src/formats/xgmml/index.d.ts.map +1 -1
- package/dist/src/formats/xgmml/index.js +1 -0
- package/dist/src/formats/xgmml/index.js.map +1 -1
- package/dist/src/formats/xgmml/values.d.ts +8 -1
- package/dist/src/formats/xgmml/values.d.ts.map +1 -1
- package/dist/src/formats/xgmml/values.js +8 -3
- package/dist/src/formats/xgmml/values.js.map +1 -1
- package/dist/src/index.d.ts +23 -18
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +28 -16
- package/dist/src/index.js.map +1 -1
- package/dist/src/registry.d.ts +478 -92
- package/dist/src/registry.d.ts.map +1 -1
- package/dist/src/registry.js +807 -88
- package/dist/src/registry.js.map +1 -1
- package/dist/src/sniff.d.ts +61 -19
- package/dist/src/sniff.d.ts.map +1 -1
- package/dist/src/sniff.js +121 -29
- package/dist/src/sniff.js.map +1 -1
- package/dist/src/types.d.ts +362 -112
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +28 -7
- package/dist/src/types.js.map +1 -1
- package/dist/xgmml.js +2 -2
- package/docs/samples/README.md +25 -0
- package/docs/samples/got-edges.csv +353 -0
- package/docs/samples/got-network.graphml +1384 -0
- package/docs/samples/got-nodes.csv +108 -0
- package/docs/samples/got.cx +930 -0
- package/docs/samples/got.cx2 +465 -0
- package/docs/samples/got.gexf +471 -0
- package/docs/samples/got.gml +2650 -0
- package/docs/samples/got.json +2546 -0
- package/docs/samples/got.net +461 -0
- package/docs/samples/movies-nodes.csv +9 -0
- package/docs/samples/movies-rels.csv +8 -0
- package/docs/samples/networks.cys +0 -0
- package/docs/samples/proteins.xgmml +9 -0
- package/docs/samples/teams.gv +24 -0
- package/docs/samples/vehicles.obo +25 -0
- package/package.json +9 -4
- package/src/children.ts +18 -6
- package/src/common/attributes.ts +29 -11
- package/src/common/cell-budget.ts +11 -3
- package/src/common/choose.ts +89 -0
- package/src/common/codes.ts +490 -66
- package/src/common/compare.ts +472 -0
- package/src/common/cx-export.ts +432 -0
- package/src/common/declared-types.ts +40 -6
- package/src/common/direction.ts +78 -51
- package/src/common/escape.ts +39 -22
- package/src/common/export.ts +284 -47
- package/src/common/format.ts +30 -1
- package/src/common/ids.ts +14 -3
- package/src/common/input.ts +1057 -134
- package/src/common/json-elements.ts +1035 -199
- package/src/common/line-format.ts +249 -0
- package/src/common/lists.ts +7 -2
- package/src/common/ontology-export.ts +461 -0
- package/src/common/ontology.ts +31 -9
- package/src/common/options.ts +110 -15
- package/src/common/plural.ts +49 -0
- package/src/common/report.ts +168 -25
- package/src/common/temporal.ts +22 -5
- package/src/common/text.ts +62 -23
- package/src/common/weights.ts +74 -4
- package/src/common/writer.ts +37 -3
- package/src/common/xml.ts +479 -90
- package/src/common/zip.ts +169 -7
- package/src/formats/csv/exporter.ts +202 -47
- package/src/formats/csv/header.ts +50 -11
- package/src/formats/csv/importer.ts +1133 -245
- package/src/formats/csv/index.ts +106 -19
- package/src/formats/csv/records.ts +396 -122
- package/src/formats/csv/values.ts +1 -0
- package/src/formats/cx/exporter.ts +1483 -0
- package/src/formats/cx/importer.ts +890 -302
- package/src/formats/cx/index.ts +4 -3
- package/src/formats/cx2/exporter.ts +62 -339
- package/src/formats/cx2/importer.ts +318 -87
- package/src/formats/cx2/index.ts +2 -1
- package/src/formats/cys/constants.ts +62 -17
- package/src/formats/cys/exporter.ts +1368 -0
- package/src/formats/cys/importer.ts +659 -157
- package/src/formats/cys/index.ts +4 -2
- package/src/formats/cys/session.ts +142 -34
- package/src/formats/cys/tables.ts +47 -9
- package/src/formats/dot/exporter.ts +83 -37
- package/src/formats/dot/importer.ts +248 -54
- package/src/formats/dot/index.ts +2 -1
- package/src/formats/dot/names.ts +44 -11
- package/src/formats/dot/tokenizer.ts +25 -6
- package/src/formats/gexf/exporter.ts +57 -18
- package/src/formats/gexf/importer.ts +636 -105
- package/src/formats/gexf/index.ts +90 -21
- package/src/formats/gexf/schema.ts +67 -15
- package/src/formats/gml/exporter.ts +90 -36
- package/src/formats/gml/importer.ts +388 -67
- package/src/formats/gml/index.ts +85 -24
- package/src/formats/gml/syntax.ts +113 -28
- package/src/formats/graphml/constants.ts +178 -44
- package/src/formats/graphml/exporter.ts +52 -18
- package/src/formats/graphml/importer.ts +640 -60
- package/src/formats/graphml/index.ts +2 -1
- package/src/formats/graphml/tree.ts +6 -2
- package/src/formats/graphml/yfiles.ts +37 -15
- package/src/formats/json/dialect.ts +128 -29
- package/src/formats/json/exporter.ts +205 -68
- package/src/formats/json/importer.ts +1163 -253
- package/src/formats/json/index.ts +3 -1
- package/src/formats/json/obographs-export.ts +1197 -0
- package/src/formats/json/obographs.ts +353 -92
- package/src/formats/neo4j/exporter.ts +321 -102
- package/src/formats/neo4j/header.ts +44 -6
- package/src/formats/neo4j/importer.ts +512 -73
- package/src/formats/neo4j/index.ts +75 -23
- package/src/formats/obo/exporter.ts +2210 -0
- package/src/formats/obo/importer.ts +622 -109
- package/src/formats/obo/index.ts +6 -3
- package/src/formats/obo/syntax.ts +232 -37
- package/src/formats/pajek/exporter.ts +90 -42
- package/src/formats/pajek/importer.ts +407 -93
- package/src/formats/pajek/index.ts +2 -1
- package/src/formats/pajek/syntax.ts +216 -55
- package/src/formats/xgmml/columns.ts +10 -0
- package/src/formats/xgmml/constants.ts +183 -56
- package/src/formats/xgmml/document.ts +212 -34
- package/src/formats/xgmml/emit.ts +175 -34
- package/src/formats/xgmml/exporter.ts +36 -28
- package/src/formats/xgmml/importer.ts +64 -86
- package/src/formats/xgmml/index.ts +1 -0
- package/src/formats/xgmml/values.ts +12 -4
- package/src/index.ts +81 -11
- package/src/registry.ts +1121 -135
- package/src/sniff.ts +163 -32
- package/src/types.ts +385 -114
- package/dist/chunks/escape-B-tkk_Cl.js.map +0 -1
- package/dist/chunks/export-Bh60Dv-n.js +0 -582
- package/dist/chunks/export-Bh60Dv-n.js.map +0 -1
- package/dist/chunks/exporter-BGrsWamJ.js.map +0 -1
- package/dist/chunks/exporter-DIeGJXAZ.js.map +0 -1
- package/dist/chunks/importer-BWY2FFc5.js.map +0 -1
- package/dist/chunks/importer-DD-xv9_Y.js +0 -1471
- package/dist/chunks/importer-DD-xv9_Y.js.map +0 -1
- package/dist/chunks/importer-DET1tg6s.js.map +0 -1
- package/dist/chunks/importer-DEcKhsmQ.js +0 -1614
- package/dist/chunks/importer-DEcKhsmQ.js.map +0 -1
- package/dist/chunks/importer-DIrbbnAf.js.map +0 -1
- package/dist/chunks/importer-D_e7e7LX.js.map +0 -1
- package/dist/chunks/importer-eUREhBGj.js.map +0 -1
- package/dist/chunks/importer-vi3bSdtw.js.map +0 -1
- package/dist/chunks/importer-zGLo8Dg_.js.map +0 -1
- package/dist/chunks/json-elements-DDS8N2Dd.js +0 -779
- package/dist/chunks/json-elements-DDS8N2Dd.js.map +0 -1
- package/dist/chunks/ontology-BnrJ4I98.js +0 -113
- package/dist/chunks/ontology-BnrJ4I98.js.map +0 -1
- package/dist/chunks/records-dbRkxwaq.js.map +0 -1
- package/dist/chunks/report-B1z4WT9e.js +0 -2372
- package/dist/chunks/report-B1z4WT9e.js.map +0 -1
- package/dist/chunks/text-Dr0Ifpag.js.map +0 -1
- package/dist/chunks/weights-Dzba96G3.js +0 -176
- package/dist/chunks/weights-Dzba96G3.js.map +0 -1
- package/dist/chunks/writer-C7flM-Ih.js.map +0 -1
|
@@ -1,77 +1,155 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* What the XGMML importer and exporter share: the namespaces, the format facts, the fixed column
|
|
3
|
-
* names, the `meta.extra` key, and the issue and loss code tables
|
|
4
|
-
|
|
3
|
+
* names, the `meta.extra` key, and the issue and loss code tables.
|
|
4
|
+
*/
|
|
5
|
+
import { AMBIGUOUS_GRAPH_NAME_CODE, BAD_VALUE_CODE, COLUMN_RENAMED_CODE, COLUMN_RENAMED_LOSS_CODE, DANGLING_REFERENCE_CODE, DIRECTION_FORCED_CODE, DIRECTION_REFUSED_CODE, DUPLICATE_ATTRIBUTE_CODE, DUPLICATE_EDGE_ID_CODE, DUPLICATE_NODE_CODE, ELEMENT_ISSUE, EMPTY_INPUT_CODE, ENCODING_CONFLICT_CODE, ENCODING_FALLBACK_CODE, EQUATION_AS_TEXT_CODE, GRAPH_NOT_FOUND_CODE, ID_MERGED_CODE, ID_TEXT_TYPE_CODE, INPUT_ISSUE, INVALID_ENCODING_CODE, INVALID_UTF8_CODE, MISSING_ENDPOINT_CODE, MISSING_ID_CODE, MIXED_DIRECTION_CODE, MULTIPLE_GRAPHS_CODE, MUTUAL_EXPANDED_CODE, NO_GRAPH_CODE, OPTION_IGNORED_CODE, PARENT_CYCLE_CODE, PARENTS_DROPPED_CODE, PRECISION_CODE, ROLE_ASSUMED_CODE, ROLE_DROPPED_CODE, ROLE_TAKEN_CODE, SINK_OPTION_CODE, STORAGE_CLASS_CODE, STRAY_TEXT_CODE, TEMPORAL_DROPPED_CODE, TEMPORAL_TEXT_DROPPED_CODE, UNKNOWN_ATTR_TYPE_CODE, UNKNOWN_ELEMENT_CODE, UNKNOWN_ENCODING_CODE, UNKNOWN_PARENT_CODE, WEIGHT_KEY_CLASH_CODE, WIDENED_CODE, XML_ILLEGAL_CHAR_CODE, XML_SYNTAX_CODE, } from "../../common/codes.js";
|
|
6
|
+
/**
|
|
7
|
+
* The format name.
|
|
8
|
+
* @category Plugin helpers
|
|
5
9
|
*/
|
|
6
|
-
import { AMBIGUOUS_GRAPH_NAME_CODE, BAD_VALUE_CODE, COLUMN_RENAMED_CODE, COLUMN_RENAMED_LOSS_CODE, DANGLING_REFERENCE_CODE, DIRECTION_FORCED_CODE, DIRECTION_REFUSED_CODE, DUPLICATE_ATTRIBUTE_CODE, DUPLICATE_EDGE_ID_CODE, DUPLICATE_NODE_CODE, EMPTY_INPUT_CODE, ENCODING_FALLBACK_CODE, EQUATION_AS_TEXT_CODE, GRAPH_NOT_FOUND_CODE, ID_MERGED_CODE, ID_TEXT_TYPE_CODE, INVALID_ENCODING_CODE, INVALID_UTF8_CODE, MISSING_ENDPOINT_CODE, MISSING_ID_CODE, MIXED_DIRECTION_CODE, MULTIPLE_GRAPHS_CODE, MUTUAL_EXPANDED_CODE, NO_GRAPH_CODE, OPTION_IGNORED_CODE, PARENT_CYCLE_CODE, PARENTS_DROPPED_CODE, PRECISION_CODE, ROLE_ASSUMED_CODE, ROLE_DROPPED_CODE, ROLE_TAKEN_CODE, SINK_OPTION_CODE, STORAGE_CLASS_CODE, STRAY_TEXT_CODE, TEMPORAL_DROPPED_CODE, TEMPORAL_TEXT_DROPPED_CODE, UNKNOWN_ATTR_TYPE_CODE, UNKNOWN_ELEMENT_CODE, UNKNOWN_ENCODING_CODE, UNKNOWN_PARENT_CODE, WEIGHT_KEY_CLASH_CODE, WIDENED_CODE, XML_ILLEGAL_CHAR_CODE, XML_SYNTAX_CODE, } from "../../common/codes.js";
|
|
7
|
-
/** The format name. */
|
|
8
10
|
export const FORMAT = "xgmml";
|
|
9
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* File extensions (never `.gr`, which DIMACS owns).
|
|
13
|
+
* @category Plugin helpers
|
|
14
|
+
*/
|
|
10
15
|
export const EXTENSIONS = Object.freeze([".xgmml", ".xml"]);
|
|
11
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* MIME types: the draft's (appendix E) and Cytoscape's.
|
|
18
|
+
* @category Plugin helpers
|
|
19
|
+
*/
|
|
12
20
|
export const MIME_TYPES = Object.freeze(["application/xgmml", "text/xgmml", "text/xgmml+xml"]);
|
|
13
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* The XGMML namespace.
|
|
23
|
+
* @category Plugin helpers
|
|
24
|
+
*/
|
|
14
25
|
export const XGMML_NAMESPACE = "http://www.cs.rpi.edu/XGMML";
|
|
15
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* Cytoscape's namespace, bound to the `cy` prefix.
|
|
28
|
+
* @category Plugin helpers
|
|
29
|
+
*/
|
|
16
30
|
export const CY_NAMESPACE = "http://www.cytoscape.org";
|
|
17
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* The XLink namespace.
|
|
33
|
+
* @category Plugin helpers
|
|
34
|
+
*/
|
|
18
35
|
export const XLINK_NAMESPACE = "http://www.w3.org/1999/xlink";
|
|
19
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* The `meta.extra` key the importer writes and the exporter reads.
|
|
38
|
+
* @category Plugin helpers
|
|
39
|
+
*/
|
|
20
40
|
export const META_KEY = "xgmml";
|
|
21
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* The label column (role label) of node and edge `label` attributes.
|
|
43
|
+
* @category Plugin helpers
|
|
44
|
+
*/
|
|
22
45
|
export const LABEL_COLUMN = "label";
|
|
23
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* The edge `id` column (role id, unique).
|
|
48
|
+
* @category Plugin helpers
|
|
49
|
+
*/
|
|
24
50
|
export const EDGE_ID_COLUMN = "id";
|
|
25
|
-
/**
|
|
51
|
+
/**
|
|
52
|
+
* The node position (f32 x3, role position, y up).
|
|
53
|
+
* @category Plugin helpers
|
|
54
|
+
*/
|
|
26
55
|
export const POSITION_COLUMN = "position";
|
|
27
|
-
/**
|
|
56
|
+
/**
|
|
57
|
+
* Cytoscape's stacking order (`NODE_Z_LOCATION`), kept out of the position.
|
|
58
|
+
* @category Plugin helpers
|
|
59
|
+
*/
|
|
28
60
|
export const Z_COLUMN = "z";
|
|
29
|
-
/**
|
|
61
|
+
/**
|
|
62
|
+
* The node, edge and graph json column of a `<graphics>` element's values as written.
|
|
63
|
+
* @category Plugin helpers
|
|
64
|
+
*/
|
|
30
65
|
export const GRAPHICS_COLUMN = "graphics";
|
|
31
|
-
/**
|
|
66
|
+
/**
|
|
67
|
+
* The containing group node (u32, role parent).
|
|
68
|
+
* @category Plugin helpers
|
|
69
|
+
*/
|
|
32
70
|
export const PARENT_COLUMN = "parent";
|
|
33
|
-
/**
|
|
71
|
+
/**
|
|
72
|
+
* Every containing group node of a node that is in several groups (list of u32, role parents).
|
|
73
|
+
* @category Plugin helpers
|
|
74
|
+
*/
|
|
34
75
|
export const PARENTS_COLUMN = "parents";
|
|
35
|
-
/**
|
|
76
|
+
/**
|
|
77
|
+
* The json node column of a group's nested graph id, label and atts.
|
|
78
|
+
* @category Plugin helpers
|
|
79
|
+
*/
|
|
36
80
|
export const SUBGRAPH_COLUMN = "xgmml.subgraph";
|
|
37
|
-
/**
|
|
81
|
+
/**
|
|
82
|
+
* The string node column naming the network a node's nested-network pointer points to.
|
|
83
|
+
* @category Plugin helpers
|
|
84
|
+
*/
|
|
38
85
|
export const NESTED_NETWORK_COLUMN = "cytoscape.nestedNetwork";
|
|
39
|
-
/**
|
|
86
|
+
/**
|
|
87
|
+
* The string node column of a nested-network pointer into another file (`file.xgmml#id`).
|
|
88
|
+
* @category Plugin helpers
|
|
89
|
+
*/
|
|
40
90
|
export const NETWORK_POINTER_COLUMN = "xgmml.networkPointer";
|
|
41
|
-
/**
|
|
91
|
+
/**
|
|
92
|
+
* The list node column of the root-level subgraphs a node belongs to, in a generic document.
|
|
93
|
+
* @category Plugin helpers
|
|
94
|
+
*/
|
|
42
95
|
export const NETWORKS_COLUMN = "xgmml.networks";
|
|
43
|
-
/**
|
|
96
|
+
/**
|
|
97
|
+
* The edge column of Cytoscape's interaction type.
|
|
98
|
+
* @category Plugin helpers
|
|
99
|
+
*/
|
|
44
100
|
export const INTERACTION_COLUMN = "interaction";
|
|
45
|
-
/**
|
|
101
|
+
/**
|
|
102
|
+
* The `origin.namespace` of the columns the importer derives from XGMML structure.
|
|
103
|
+
* @category Plugin helpers
|
|
104
|
+
*/
|
|
46
105
|
export const XGMML_ORIGIN_NAMESPACE = "xgmml";
|
|
47
|
-
/**
|
|
106
|
+
/**
|
|
107
|
+
* The `origin.namespace` of the columns that hold Cytoscape-only data (z, nested networks).
|
|
108
|
+
* @category Plugin helpers
|
|
109
|
+
*/
|
|
48
110
|
export const CYTOSCAPE_ORIGIN_NAMESPACE = "cytoscape";
|
|
49
111
|
/**
|
|
50
|
-
* The issue codes the XGMML importer records
|
|
51
|
-
* the other importers
|
|
112
|
+
* The issue codes the XGMML importer records, by name: the codes shared with
|
|
113
|
+
* the other importers and the XGMML-specific ones. A key is the code without
|
|
52
114
|
* its severity and format prefixes.
|
|
115
|
+
* @category Built-in formats
|
|
53
116
|
*/
|
|
54
117
|
export const XGMML_ISSUE = Object.freeze({
|
|
55
|
-
|
|
118
|
+
...INPUT_ISSUE,
|
|
119
|
+
...ELEMENT_ISSUE,
|
|
120
|
+
/** The input is not well-formed XML. The import stops. */
|
|
56
121
|
XML_SYNTAX: XML_SYNTAX_CODE,
|
|
57
|
-
/**
|
|
122
|
+
/** The input is empty or whitespace only. The import stops. */
|
|
58
123
|
EMPTY_INPUT: EMPTY_INPUT_CODE,
|
|
59
|
-
/**
|
|
124
|
+
/** The input is not valid UTF-8. The import stops. */
|
|
60
125
|
INVALID_UTF8: INVALID_UTF8_CODE,
|
|
61
|
-
/**
|
|
126
|
+
/**
|
|
127
|
+
* Some bytes are not valid in the encoding that was chosen (by a byte order mark, the file's declaration or the
|
|
128
|
+
* `encoding` option). The import stops.
|
|
129
|
+
*/
|
|
62
130
|
INVALID_ENCODING: INVALID_ENCODING_CODE,
|
|
63
131
|
/** Undeclared non-UTF-8 bytes were read as windows-1252. */
|
|
64
132
|
ENCODING_FALLBACK: ENCODING_FALLBACK_CODE,
|
|
65
133
|
/** A declared encoding the platform cannot decode was ignored. */
|
|
66
134
|
UNKNOWN_ENCODING: UNKNOWN_ENCODING_CODE,
|
|
67
|
-
/**
|
|
135
|
+
/** A declared encoding the byte order mark contradicts (the mark wins). */
|
|
136
|
+
ENCODING_CONFLICT: ENCODING_CONFLICT_CODE,
|
|
137
|
+
/**
|
|
138
|
+
* The root element is not `<graph>` (it may be an XHTML page with a graph inside, or a GraphML file). The import
|
|
139
|
+
* stops.
|
|
140
|
+
*/
|
|
68
141
|
NO_GRAPH: NO_GRAPH_CODE,
|
|
69
|
-
/**
|
|
142
|
+
/**
|
|
143
|
+
* The file is a Cytoscape session view (`cy:view="1"`), which holds only view settings and no nodes or edges. The
|
|
144
|
+
* import stops.
|
|
145
|
+
*/
|
|
70
146
|
VIEW_DOCUMENT: "E_XGMML_VIEW_DOCUMENT",
|
|
71
147
|
/** A node with neither an id nor a label; it is skipped with its subtree. */
|
|
72
148
|
MISSING_ID: MISSING_ID_CODE,
|
|
73
149
|
/** A node without an id; its label is used as the id. */
|
|
74
150
|
ID_FROM_LABEL: "W_XGMML_ID_FROM_LABEL",
|
|
151
|
+
/** A node or edge with both an id and an `xlink:href`; it is read as the reference. */
|
|
152
|
+
ID_AND_HREF: "W_XGMML_ID_AND_HREF",
|
|
75
153
|
/** An edge without a source or a target that no label alias resolves. */
|
|
76
154
|
MISSING_ENDPOINT: MISSING_ENDPOINT_CODE,
|
|
77
155
|
/** An edge endpoint that names no node (addMissingNodes false); the edge is skipped. */
|
|
@@ -82,7 +160,10 @@ export const XGMML_ISSUE = Object.freeze({
|
|
|
82
160
|
DUPLICATE_NODE: DUPLICATE_NODE_CODE,
|
|
83
161
|
/** An edge id used twice; the second edge is skipped. */
|
|
84
162
|
DUPLICATE_EDGE_ID: DUPLICATE_EDGE_ID_CODE,
|
|
85
|
-
/**
|
|
163
|
+
/**
|
|
164
|
+
* Cytoscape 2.x writes each edge of a group a second time, inside the group. The repeats are dropped, so every edge
|
|
165
|
+
* is read once; nothing is lost.
|
|
166
|
+
*/
|
|
86
167
|
GROUP_DUPLICATE_EDGE: "W_XGMML_GROUP_DUPLICATE_EDGE",
|
|
87
168
|
/** A `directed` or `cy:directed` value other than 0 / 1. */
|
|
88
169
|
BAD_DIRECTED: "W_XGMML_BAD_DIRECTED",
|
|
@@ -98,19 +179,28 @@ export const XGMML_ISSUE = Object.freeze({
|
|
|
98
179
|
SURROGATE_PAIRED: "W_XGMML_SURROGATE_PAIRED",
|
|
99
180
|
/** An empty list whose element type nothing states; a list of strings is assumed. */
|
|
100
181
|
EMPTY_LIST_TYPE: "W_XGMML_EMPTY_LIST_TYPE",
|
|
101
|
-
/**
|
|
182
|
+
/**
|
|
183
|
+
* An attribute holds a structure a single column cannot (a list of records, a list of lists, a Cytoscape 2.x map
|
|
184
|
+
* or XML from another tool). Its value is kept as a JSON value, which a save as XGMML writes back.
|
|
185
|
+
*/
|
|
102
186
|
RECORD_LIST: "W_XGMML_RECORD_LIST",
|
|
103
187
|
/** A pointer into another file (`file.xgmml#id`); kept as text. */
|
|
104
188
|
CROSS_FILE_REFERENCE: "W_XGMML_CROSS_FILE_REFERENCE",
|
|
105
189
|
/** A graph nested in an edge's att; there is no model for it. */
|
|
106
190
|
EDGE_NESTED_GRAPH: "W_XGMML_EDGE_NESTED_GRAPH",
|
|
107
|
-
/**
|
|
191
|
+
/**
|
|
192
|
+
* Some nodes or edges of a Cytoscape session belong to none of its networks (Cytoscape keeps group meta-edges and
|
|
193
|
+
* the members of collapsed groups this way). They are not read; the message counts them.
|
|
194
|
+
*/
|
|
108
195
|
ROOT_ONLY_ELEMENTS: "W_XGMML_ROOT_ONLY_ELEMENTS",
|
|
109
196
|
/** A value that does not parse as its declared type; the cell is unset. */
|
|
110
197
|
BAD_VALUE: BAD_VALUE_CODE,
|
|
111
|
-
/**
|
|
198
|
+
/**
|
|
199
|
+
* An attribute's type was widened because a later value did not fit: an integer above 2^31 in an integer column,
|
|
200
|
+
* or two declared types for one attribute.
|
|
201
|
+
*/
|
|
112
202
|
WIDENED: WIDENED_CODE,
|
|
113
|
-
/**
|
|
203
|
+
/** An integer beyond 2^53 was stored as the nearest 64-bit float; pass `long: "string"` to keep every digit. */
|
|
114
204
|
PRECISION: PRECISION_CODE,
|
|
115
205
|
/** A reference (xlink:href, nested-network pointer) that names nothing. */
|
|
116
206
|
DANGLING_REFERENCE: DANGLING_REFERENCE_CODE,
|
|
@@ -128,54 +218,79 @@ export const XGMML_ISSUE = Object.freeze({
|
|
|
128
218
|
UNKNOWN_ELEMENT: UNKNOWN_ELEMENT_CODE,
|
|
129
219
|
/** Character data where XGMML allows only elements, or inside an att. */
|
|
130
220
|
STRAY_TEXT: STRAY_TEXT_CODE,
|
|
131
|
-
/**
|
|
221
|
+
/**
|
|
222
|
+
* The file holds several graphs and only the first was read. It is not added when `graphIndex` or `graphName` chose the graph.
|
|
223
|
+
* `importAllGraphs()` reads every one.
|
|
224
|
+
*/
|
|
132
225
|
MULTIPLE_GRAPHS: MULTIPLE_GRAPHS_CODE,
|
|
133
|
-
/** graphIndex
|
|
226
|
+
/** `graphIndex` or `graphName` matches no network in the session. The import stops. */
|
|
134
227
|
GRAPH_NOT_FOUND: GRAPH_NOT_FOUND_CODE,
|
|
135
|
-
/** graphName
|
|
228
|
+
/** `graphName` matches several networks in the session. The import stops. */
|
|
136
229
|
AMBIGUOUS_GRAPH_NAME: AMBIGUOUS_GRAPH_NAME_CODE,
|
|
137
|
-
/**
|
|
230
|
+
/**
|
|
231
|
+
* An attribute was renamed `<name>#<suffix>` because another attribute already has its name, for example
|
|
232
|
+
* two attributes declared with the same name.
|
|
233
|
+
*/
|
|
138
234
|
COLUMN_RENAMED: COLUMN_RENAMED_CODE,
|
|
139
|
-
/**
|
|
235
|
+
/**
|
|
236
|
+
* You read into a graph builder that already has an id, label or position attribute, so this file's one is kept as
|
|
237
|
+
* a plain attribute.
|
|
238
|
+
*/
|
|
140
239
|
ROLE_TAKEN: ROLE_TAKEN_CODE,
|
|
141
|
-
/** Two id texts
|
|
240
|
+
/** Two different id texts became the same number because `ids` is "number", so their nodes were merged. */
|
|
142
241
|
ID_MERGED: ID_MERGED_CODE,
|
|
143
|
-
/**
|
|
242
|
+
/** You set an option this format does not use; it had no effect. The message names the option. */
|
|
144
243
|
OPTION_IGNORED: OPTION_IGNORED_CODE,
|
|
145
|
-
/**
|
|
244
|
+
/**
|
|
245
|
+
* You read into your own graph builder, which was created with a different `addMissingNodes`, `duplicateEdges`,
|
|
246
|
+
* `selfLoops` or `weightDtype` than the option you passed; the builder's setting applies.
|
|
247
|
+
*/
|
|
146
248
|
SINK_OPTION: SINK_OPTION_CODE,
|
|
147
|
-
/**
|
|
249
|
+
/**
|
|
250
|
+
* You read into a graph builder whose direction is already set, or which already holds edges, so the file is read
|
|
251
|
+
* with the builder's direction instead of its own.
|
|
252
|
+
*/
|
|
148
253
|
DIRECTION_REFUSED: DIRECTION_REFUSED_CODE,
|
|
149
|
-
/** Edges
|
|
254
|
+
/** Edges of the other direction were read with the direction `onMixedDirection` chose. */
|
|
150
255
|
DIRECTION_FORCED: DIRECTION_FORCED_CODE,
|
|
151
|
-
/**
|
|
256
|
+
/**
|
|
257
|
+
* The graph has both directed and undirected edges and `onMixedDirection` is "error". An import stops; a save to a
|
|
258
|
+
* format that holds one direction per file fails with E_DIRECTED. Pass "directed" or "undirected" to read or write
|
|
259
|
+
* it anyway.
|
|
260
|
+
*/
|
|
152
261
|
MIXED_DIRECTION: MIXED_DIRECTION_CODE,
|
|
153
262
|
});
|
|
154
263
|
/**
|
|
155
264
|
* Loss note codes of the XGMML exporter (check()): the XGMML ones and the shared ones its notes
|
|
156
265
|
* can carry. The generic notes of `checkCapabilities()` (dtypes, components, temporal and visual
|
|
157
266
|
* roles, extension tables) are those of `LOSS`.
|
|
267
|
+
* @category Built-in formats
|
|
158
268
|
*/
|
|
159
269
|
export const XGMML_LOSS = Object.freeze({
|
|
160
270
|
/** A json or nested-list column written as a string att. */
|
|
161
271
|
JSON_AS_STRING: "W_XGMML_JSON_AS_STRING",
|
|
162
|
-
/**
|
|
272
|
+
/**
|
|
273
|
+
* An attribute type Cytoscape does not have is written as a wider one (a 32-bit float as Double, a large unsigned
|
|
274
|
+
* integer as Long, a byte as Integer, a dictionary as String).
|
|
275
|
+
*/
|
|
163
276
|
WIDENED_TYPE: "W_XGMML_WIDENED_TYPE",
|
|
164
|
-
/** A
|
|
277
|
+
/** A text value holds a character XML 1.0 forbids (most control characters); the save fails with E_COLUMN_TYPE. */
|
|
165
278
|
XML_ILLEGAL_CHAR: XML_ILLEGAL_CHAR_CODE,
|
|
166
279
|
/** A temporal column written as plain numbers. */
|
|
167
280
|
TEMPORAL_DROPPED: TEMPORAL_DROPPED_CODE,
|
|
168
281
|
/** A temporal text companion written as a plain string att. */
|
|
169
282
|
TEMPORAL_TEXT_DROPPED: TEMPORAL_TEXT_DROPPED_CODE,
|
|
170
|
-
/**
|
|
283
|
+
/** An attribute with a role the format has no place for is written as a plain attribute; the role is lost. */
|
|
171
284
|
ROLE_DROPPED: ROLE_DROPPED_CODE,
|
|
172
|
-
/**
|
|
285
|
+
/**
|
|
286
|
+
* A `parents` attribute (several parents per node) is not written because the graph also has a `parent` attribute.
|
|
287
|
+
*/
|
|
173
288
|
PARENTS_DROPPED: PARENTS_DROPPED_CODE,
|
|
174
289
|
/** A mutual pair written as two directed edges. */
|
|
175
290
|
MUTUAL_EXPANDED: MUTUAL_EXPANDED_CODE,
|
|
176
291
|
/** Node ids whose text reads back as the other type. */
|
|
177
292
|
ID_TEXT_TYPE: ID_TEXT_TYPE_CODE,
|
|
178
|
-
/**
|
|
293
|
+
/** Edge ids that are not text are written as text and read back as text. */
|
|
179
294
|
EDGE_ID_TEXT: "W_XGMML_EDGE_ID_TEXT",
|
|
180
295
|
/** Strings holding a literal backslash-n or backslash-t read back as newline / tab (Cytoscape's escapes). */
|
|
181
296
|
BACKSLASH_ESCAPE: "W_XGMML_BACKSLASH_ESCAPE",
|
|
@@ -183,13 +298,22 @@ export const XGMML_LOSS = Object.freeze({
|
|
|
183
298
|
POSITION: "W_XGMML_POSITION",
|
|
184
299
|
/** Nodes whose parent chain never reaches a root are written at the top level. */
|
|
185
300
|
PARENT_CYCLE: "W_XGMML_PARENT_CYCLE",
|
|
186
|
-
/**
|
|
301
|
+
/**
|
|
302
|
+
* An attribute with a role (for example, the label) is written where the format keeps that role, and reads back under the
|
|
303
|
+
* name the format's importer gives it.
|
|
304
|
+
*/
|
|
187
305
|
COLUMN_NAME_CHANGED: COLUMN_RENAMED_LOSS_CODE,
|
|
188
|
-
/**
|
|
306
|
+
/**
|
|
307
|
+
* An attribute without a role is written where the format keeps a role (for example, a `name` column as the label), and
|
|
308
|
+
* reads back with that role.
|
|
309
|
+
*/
|
|
189
310
|
ROLE_ASSUMED: ROLE_ASSUMED_CODE,
|
|
190
|
-
/**
|
|
311
|
+
/** An attribute named `weight` without the weight role reads back as the edge weight. */
|
|
191
312
|
WEIGHT_KEY_CLASH: WEIGHT_KEY_CLASH_CODE,
|
|
192
|
-
/**
|
|
313
|
+
/**
|
|
314
|
+
* A text attribute reads back as a dictionary attribute, or the reverse, because the importer chooses by how often
|
|
315
|
+
* its values repeat. The values are the same.
|
|
316
|
+
*/
|
|
193
317
|
STORAGE_CLASS_CHANGED: STORAGE_CLASS_CODE,
|
|
194
318
|
/** Edge labels shaped `a (i) b` read back with an `interaction` column (Cytoscape's label alias). */
|
|
195
319
|
INTERACTION_FROM_LABEL: "W_XGMML_INTERACTION_FROM_LABEL",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/formats/xgmml/constants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/formats/xgmml/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,13 +6,16 @@
|
|
|
6
6
|
* Cytoscape does, and the `.cys` importer reuses the same records for the network and view files
|
|
7
7
|
* of a session.
|
|
8
8
|
*
|
|
9
|
-
* It
|
|
9
|
+
* It recognizes the five shapes of `research-xgmml.md` section 2: the 1.0 draft, the Cytoscape
|
|
10
10
|
* 2.x export and session, the 3.x export, the 3.x session network file (root `cy:registered="0"`)
|
|
11
11
|
* and the 3.x session view file (root `cy:view="1"`).
|
|
12
12
|
*/
|
|
13
13
|
import { type ImportReportBuilder } from "../../common/report.js";
|
|
14
14
|
import { type XmlHandler } from "../../common/xml.js";
|
|
15
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* One `<att>` and what it holds.
|
|
17
|
+
* @category Plugin helpers
|
|
18
|
+
*/
|
|
16
19
|
export interface AttRec {
|
|
17
20
|
/** The `name` (else `label`) attribute, or null. */
|
|
18
21
|
name: string | null;
|
|
@@ -43,7 +46,10 @@ export interface AttRec {
|
|
|
43
46
|
/** The table namespace of a `.cys` column, or null for an att of the document. */
|
|
44
47
|
readonly namespace?: string | null | undefined;
|
|
45
48
|
}
|
|
46
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
* A `<node>`.
|
|
51
|
+
* @category Plugin helpers
|
|
52
|
+
*/
|
|
47
53
|
export interface NodeRec {
|
|
48
54
|
readonly kind: "node";
|
|
49
55
|
/** The id (the label when the id is missing), or null for an `xlink:href` reference. */
|
|
@@ -73,7 +79,10 @@ export interface NodeRec {
|
|
|
73
79
|
/** A session view's `cy:nodeId`, or null. */
|
|
74
80
|
readonly viewId: string | null;
|
|
75
81
|
}
|
|
76
|
-
/**
|
|
82
|
+
/**
|
|
83
|
+
* An `<edge>`.
|
|
84
|
+
* @category Plugin helpers
|
|
85
|
+
*/
|
|
77
86
|
export interface EdgeRec {
|
|
78
87
|
readonly kind: "edge";
|
|
79
88
|
/** The id attribute, or null. */
|
|
@@ -104,7 +113,10 @@ export interface EdgeRec {
|
|
|
104
113
|
/** A session view's `cy:edgeId`, or null. */
|
|
105
114
|
readonly viewId: string | null;
|
|
106
115
|
}
|
|
107
|
-
/**
|
|
116
|
+
/**
|
|
117
|
+
* A `<graph>`: the root, a subnetwork, a group or a nested-network pointer.
|
|
118
|
+
* @category Plugin helpers
|
|
119
|
+
*/
|
|
108
120
|
export interface GraphRec {
|
|
109
121
|
/** The id attribute, or null. */
|
|
110
122
|
readonly id: string | null;
|
|
@@ -131,7 +143,10 @@ export interface GraphRec {
|
|
|
131
143
|
/** The line of the `<graph`. */
|
|
132
144
|
readonly line: number;
|
|
133
145
|
}
|
|
134
|
-
/**
|
|
146
|
+
/**
|
|
147
|
+
* A parsed document.
|
|
148
|
+
* @category Plugin helpers
|
|
149
|
+
*/
|
|
135
150
|
export interface XgmmlDocument {
|
|
136
151
|
/** The root graph. */
|
|
137
152
|
readonly root: GraphRec;
|
|
@@ -149,20 +164,25 @@ export interface XgmmlDocument {
|
|
|
149
164
|
readonly rdf: Record<string, string>;
|
|
150
165
|
/** The serialized `networkMetadata` RDF, or null. */
|
|
151
166
|
readonly rdfXml: string | null;
|
|
167
|
+
/** The DOCTYPE declaration as written, or null. */
|
|
168
|
+
readonly doctype: string | null;
|
|
152
169
|
}
|
|
153
170
|
/**
|
|
154
171
|
* Whether a Cytoscape flag text is true.
|
|
155
172
|
* @param text - the text, or undefined
|
|
156
173
|
* @returns true for 1, true or yes in any case
|
|
174
|
+
* @category Plugin helpers
|
|
157
175
|
*/
|
|
158
176
|
export declare function isCyTrue(text: string | null | undefined): boolean;
|
|
159
177
|
/**
|
|
160
178
|
* The tokenizer handler that builds an XgmmlDocument.
|
|
179
|
+
* @category Plugin helpers
|
|
161
180
|
*/
|
|
162
181
|
export declare class XgmmlParser implements XmlHandler {
|
|
163
182
|
private readonly report;
|
|
164
183
|
private readonly frames;
|
|
165
|
-
|
|
184
|
+
/** The namespace prefixes in scope at each open element (prefix to URI, "" for the default). */
|
|
185
|
+
private readonly scopes;
|
|
166
186
|
private rootGraph;
|
|
167
187
|
private readonly nodes;
|
|
168
188
|
private readonly edges;
|
|
@@ -173,6 +193,7 @@ export declare class XgmmlParser implements XmlHandler {
|
|
|
173
193
|
private rootPrefix;
|
|
174
194
|
private readonly rdf;
|
|
175
195
|
private rdfXml;
|
|
196
|
+
private doctypeText;
|
|
176
197
|
/**
|
|
177
198
|
* Create a parser.
|
|
178
199
|
* @param report - the report issues are recorded in
|
|
@@ -183,6 +204,11 @@ export declare class XgmmlParser implements XmlHandler {
|
|
|
183
204
|
* @returns the document; E_NO_GRAPH (fatal) when no root graph was read
|
|
184
205
|
*/
|
|
185
206
|
document(): XgmmlDocument;
|
|
207
|
+
/**
|
|
208
|
+
* The DOCTYPE declaration.
|
|
209
|
+
* @param text - the declaration as written
|
|
210
|
+
*/
|
|
211
|
+
doctype(text: string): void;
|
|
186
212
|
/**
|
|
187
213
|
* An element starts.
|
|
188
214
|
* @param rawName - the element name as written
|
|
@@ -202,12 +228,22 @@ export declare class XgmmlParser implements XmlHandler {
|
|
|
202
228
|
* @param line - the line
|
|
203
229
|
*/
|
|
204
230
|
text(text: string, line: number): void;
|
|
231
|
+
/**
|
|
232
|
+
* Open the namespace scope of an element: its parent's, plus the prefixes it declares.
|
|
233
|
+
* @param attrs - the element's attributes as written
|
|
234
|
+
*/
|
|
235
|
+
private enterScope;
|
|
236
|
+
/**
|
|
237
|
+
* The namespace prefixes in scope at the innermost open element.
|
|
238
|
+
* @returns prefix to URI
|
|
239
|
+
*/
|
|
240
|
+
private get scope();
|
|
205
241
|
/**
|
|
206
242
|
* The XML attribute map with every XLink prefix written `xlink:`.
|
|
207
243
|
* @param attrs - the attributes as written
|
|
208
|
-
* @returns the
|
|
244
|
+
* @returns the normalized map
|
|
209
245
|
*/
|
|
210
|
-
private
|
|
246
|
+
private normalize;
|
|
211
247
|
/**
|
|
212
248
|
* The root element: a `<graph>`, else the document is not XGMML.
|
|
213
249
|
* @param rawName - the name as written
|
|
@@ -252,8 +288,9 @@ export declare class XgmmlParser implements XmlHandler {
|
|
|
252
288
|
*/
|
|
253
289
|
private startInAtt;
|
|
254
290
|
/**
|
|
255
|
-
* Whether an element name
|
|
256
|
-
*
|
|
291
|
+
* Whether an element name is XGMML's own (unprefixed, with the root's prefix as in a document
|
|
292
|
+
* whose root is `<xgmml:graph>`, or with any prefix bound to the XGMML namespace) rather than
|
|
293
|
+
* foreign XML such as `rdf:RDF` or `svg:node`.
|
|
257
294
|
* @param rawName - the name as written
|
|
258
295
|
* @returns true for an XGMML element name
|
|
259
296
|
*/
|
|
@@ -291,6 +328,14 @@ export declare class XgmmlParser implements XmlHandler {
|
|
|
291
328
|
* @param line - the line
|
|
292
329
|
*/
|
|
293
330
|
private beginEdge;
|
|
331
|
+
/**
|
|
332
|
+
* W_XGMML_ID_AND_HREF: an element that both declares an id and references another element.
|
|
333
|
+
* @param kind - node or edge
|
|
334
|
+
* @param id - the id
|
|
335
|
+
* @param href - the reference
|
|
336
|
+
* @param line - the line
|
|
337
|
+
*/
|
|
338
|
+
private idAndHref;
|
|
294
339
|
/**
|
|
295
340
|
* An att record from its XML attributes.
|
|
296
341
|
* @param attrs - the attributes
|
|
@@ -324,6 +369,7 @@ export declare class XgmmlParser implements XmlHandler {
|
|
|
324
369
|
* attribute is kept as written, merged key by key with an earlier `<graphics>`.
|
|
325
370
|
* @param target - the node, edge or graph
|
|
326
371
|
* @param attrs - its attributes
|
|
372
|
+
* @param line - the line
|
|
327
373
|
*/
|
|
328
374
|
private beginGraphics;
|
|
329
375
|
/**
|
|
@@ -342,12 +388,19 @@ export declare class XgmmlParser implements XmlHandler {
|
|
|
342
388
|
* @param att - the att
|
|
343
389
|
*/
|
|
344
390
|
private graphicsAtt;
|
|
391
|
+
/**
|
|
392
|
+
* W_DUPLICATE_ATTRIBUTE for a graphics property given twice on one element (once per name).
|
|
393
|
+
* @param key - the property
|
|
394
|
+
* @param line - the line
|
|
395
|
+
*/
|
|
396
|
+
private duplicateGraphics;
|
|
345
397
|
}
|
|
346
398
|
/**
|
|
347
399
|
* Whether an att's children are list items rather than named fields: they have no names, repeat
|
|
348
400
|
* the parent's name (Cytoscape 3 lists), or are several that share one name (2.x bend handles).
|
|
349
401
|
* @param att - the att
|
|
350
402
|
* @returns true for a list
|
|
403
|
+
* @category Plugin helpers
|
|
351
404
|
*/
|
|
352
405
|
export declare function isListLike(att: AttRec): boolean;
|
|
353
406
|
/**
|
|
@@ -356,6 +409,7 @@ export declare function isListLike(att: AttRec): boolean;
|
|
|
356
409
|
* else its other XML attributes (a 2.x bend handle's x and y), else null.
|
|
357
410
|
* @param att - the att
|
|
358
411
|
* @returns the value
|
|
412
|
+
* @category Plugin helpers
|
|
359
413
|
*/
|
|
360
414
|
export declare function attJson(att: AttRec): unknown;
|
|
361
415
|
//# sourceMappingURL=document.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../../src/formats/xgmml/document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG/E
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../../src/formats/xgmml/document.ts"],"names":[],"mappings":"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"}
|