@graphty/graph-io 0.3.24 → 0.3.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -414
- package/dist/chunks/children-CL3Cy0ez.js.map +1 -1
- package/dist/chunks/choose-BbJI55dx.js +56 -0
- package/dist/chunks/choose-BbJI55dx.js.map +1 -0
- package/dist/chunks/constants-BCsFsMj4.js +231 -0
- package/dist/chunks/constants-BCsFsMj4.js.map +1 -0
- package/dist/chunks/{escape-B-tkk_Cl.js → escape-D0g6NNUy.js} +382 -92
- package/dist/chunks/escape-D0g6NNUy.js.map +1 -0
- package/dist/chunks/export-BTI4yQgy.js +4333 -0
- package/dist/chunks/export-BTI4yQgy.js.map +1 -0
- package/dist/chunks/exporter-BMqk5oxW.js +3465 -0
- package/dist/chunks/exporter-BMqk5oxW.js.map +1 -0
- package/dist/chunks/{importer-eUREhBGj.js → exporter-Cra2GYcN.js} +4969 -3201
- package/dist/chunks/exporter-Cra2GYcN.js.map +1 -0
- package/dist/chunks/{exporter-BGrsWamJ.js → exporter-Dxh231ZF.js} +38 -229
- package/dist/chunks/exporter-Dxh231ZF.js.map +1 -0
- package/dist/chunks/{exporter-DIeGJXAZ.js → exporter-tne475KK.js} +22 -20
- package/dist/chunks/exporter-tne475KK.js.map +1 -0
- package/dist/chunks/importer-90YWhJoF.js +2811 -0
- package/dist/chunks/importer-90YWhJoF.js.map +1 -0
- package/dist/chunks/{importer-D_e7e7LX.js → importer-Bcl1d4xH.js} +398 -145
- package/dist/chunks/importer-Bcl1d4xH.js.map +1 -0
- package/dist/chunks/{importer-BWY2FFc5.js → importer-BfIsp1f9.js} +255 -77
- package/dist/chunks/importer-BfIsp1f9.js.map +1 -0
- package/dist/chunks/{importer-zGLo8Dg_.js → importer-C_TEA1zJ.js} +484 -157
- package/dist/chunks/importer-C_TEA1zJ.js.map +1 -0
- package/dist/chunks/{importer-DET1tg6s.js → importer-DCjOvO7U.js} +1687 -310
- package/dist/chunks/importer-DCjOvO7U.js.map +1 -0
- package/dist/chunks/{importer-vi3bSdtw.js → importer-DfVu6j59.js} +509 -76
- package/dist/chunks/importer-DfVu6j59.js.map +1 -0
- package/dist/chunks/{importer-DIrbbnAf.js → importer-Dku_VAIY.js} +585 -226
- package/dist/chunks/importer-Dku_VAIY.js.map +1 -0
- package/dist/chunks/json-elements-3tnyt5uZ.js +1225 -0
- package/dist/chunks/json-elements-3tnyt5uZ.js.map +1 -0
- package/dist/chunks/ontology-export-B9Tcf37D.js +357 -0
- package/dist/chunks/ontology-export-B9Tcf37D.js.map +1 -0
- package/dist/chunks/{records-dbRkxwaq.js → records-CQXT__mY.js} +298 -114
- package/dist/chunks/records-CQXT__mY.js.map +1 -0
- package/dist/chunks/{text-Dr0Ifpag.js → text-DmcUs5_Q.js} +29 -11
- package/dist/chunks/text-DmcUs5_Q.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 +951 -261
- 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 +342 -85
- 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 +564 -157
- 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 +19 -1
- 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 +33 -17
- 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 +868 -188
- 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 +2 -0
- 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 +400 -83
- 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 +145 -32
- 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 +680 -285
- 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 +226 -79
- 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 +98 -24
- 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 +108 -26
- 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 +238 -85
- 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 +66 -34
- 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 +183 -51
- 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 +20 -21
- 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 +7 -2
- 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 +38 -4
- package/src/common/direction.ts +78 -51
- package/src/common/escape.ts +33 -17
- 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 +1034 -198
- package/src/common/line-format.ts +249 -0
- package/src/common/lists.ts +6 -1
- 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 +477 -88
- package/src/common/zip.ts +169 -7
- package/src/formats/csv/exporter.ts +201 -46
- 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 +888 -300
- package/src/formats/cx/index.ts +4 -3
- package/src/formats/cx2/exporter.ts +61 -338
- package/src/formats/cx2/importer.ts +317 -86
- 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 +139 -31
- 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 +111 -26
- 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 +320 -101
- 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 +89 -41
- package/src/formats/pajek/importer.ts +407 -93
- package/src/formats/pajek/index.ts +2 -1
- package/src/formats/pajek/syntax.ts +213 -52
- 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 +35 -27
- package/src/formats/xgmml/importer.ts +64 -86
- package/src/formats/xgmml/index.ts +1 -0
- package/src/formats/xgmml/values.ts +11 -3
- 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,26 +1,47 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Header handling of the CSV importer: whether the first row is a header, which columns hold the
|
|
3
3
|
* endpoints, the weight, the Gephi per-row `Type`, the edge id and the label (by name lists and
|
|
4
|
-
* by position), and the
|
|
4
|
+
* by position), and the synthesized names of a headerless file (`column1`, `column2`, ...).
|
|
5
5
|
*
|
|
6
6
|
* Name resolution is exact first, then case-insensitive, over a candidate list in priority order,
|
|
7
7
|
* so `source` / `Source` / `SOURCE`, `src`, `from` all resolve without configuration; the Gephi
|
|
8
8
|
* dialect (exact `Source` and `Target` headers) additionally makes an exact `Type` column the
|
|
9
9
|
* per-row direction. A caller may name any column explicitly or give its 0-based position.
|
|
10
10
|
*/
|
|
11
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* A column named by header text or by 0-based position.
|
|
13
|
+
* @category Built-in formats
|
|
14
|
+
*/
|
|
12
15
|
export type CsvColumnRef = string | number;
|
|
13
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* Header candidates of the source endpoint, in priority order (matched exactly, then case-insensitively).
|
|
18
|
+
* @category Plugin helpers
|
|
19
|
+
*/
|
|
14
20
|
export declare const SOURCE_NAMES: readonly string[];
|
|
15
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Header candidates of the target endpoint.
|
|
23
|
+
* @category Plugin helpers
|
|
24
|
+
*/
|
|
16
25
|
export declare const TARGET_NAMES: readonly string[];
|
|
17
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* Header candidates of a node table's id column.
|
|
28
|
+
* @category Plugin helpers
|
|
29
|
+
*/
|
|
18
30
|
export declare const ID_NAMES: readonly string[];
|
|
19
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* Header candidates of a label column (node or edge).
|
|
33
|
+
* @category Plugin helpers
|
|
34
|
+
*/
|
|
20
35
|
export declare const LABEL_NAMES: readonly string[];
|
|
21
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* Header candidates of an edge id column.
|
|
38
|
+
* @category Plugin helpers
|
|
39
|
+
*/
|
|
22
40
|
export declare const EDGE_ID_NAMES: readonly string[];
|
|
23
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* The Gephi per-row direction column.
|
|
43
|
+
* @category Plugin helpers
|
|
44
|
+
*/
|
|
24
45
|
export declare const TYPE_NAME = "Type";
|
|
25
46
|
/**
|
|
26
47
|
* Find a column by name: candidates are tried in priority order, each first exactly and then
|
|
@@ -28,6 +49,7 @@ export declare const TYPE_NAME = "Type";
|
|
|
28
49
|
* @param names - the header names
|
|
29
50
|
* @param candidates - the names to look for, in priority order
|
|
30
51
|
* @returns the column index, or -1
|
|
52
|
+
* @category Plugin helpers
|
|
31
53
|
*/
|
|
32
54
|
export declare function findColumn(names: readonly string[], candidates: readonly string[]): number;
|
|
33
55
|
/**
|
|
@@ -38,6 +60,7 @@ export declare function findColumn(names: readonly string[], candidates: readonl
|
|
|
38
60
|
* @param ref - the option value
|
|
39
61
|
* @param option - the option name, for the error
|
|
40
62
|
* @returns the column index
|
|
63
|
+
* @category Plugin helpers
|
|
41
64
|
*/
|
|
42
65
|
export declare function resolveColumnRef(names: readonly string[], ref: CsvColumnRef, option: string): number;
|
|
43
66
|
/**
|
|
@@ -45,15 +68,20 @@ export declare function resolveColumnRef(names: readonly string[], ref: CsvColum
|
|
|
45
68
|
* is when any cell is a known column name (source, target, id, label, weight, type...), or when
|
|
46
69
|
* every cell is non-numeric text while the second row has a numeric cell (`u,v` over `1,2`);
|
|
47
70
|
* a first row with a numeric cell is data, and so is one that looks exactly like the rows below it.
|
|
71
|
+
* A two-column row holding a known name is still data when its second cell is the second row's
|
|
72
|
+
* first cell and it does not name both endpoints: a header names columns, while an edge list whose
|
|
73
|
+
* ids happen to be such words (`key,lock` over `lock,door`) chains its ids from row to row.
|
|
48
74
|
* @param first - the first row
|
|
49
75
|
* @param second - the second row, or null when the file has one row
|
|
50
76
|
* @returns true when the first row is a header
|
|
77
|
+
* @category Plugin helpers
|
|
51
78
|
*/
|
|
52
79
|
export declare function looksLikeHeader(first: readonly string[], second: readonly string[] | null): boolean;
|
|
53
80
|
/**
|
|
54
|
-
* The
|
|
81
|
+
* The synthesized header of a headerless file: `column1` ... `columnN`.
|
|
55
82
|
* @param width - the number of cells of the first row
|
|
56
83
|
* @returns the names
|
|
84
|
+
* @category Plugin helpers
|
|
57
85
|
*/
|
|
58
86
|
export declare function positionalNames(width: number): string[];
|
|
59
87
|
/**
|
|
@@ -61,6 +89,7 @@ export declare function positionalNames(width: number): string[];
|
|
|
61
89
|
* empty cell named by its position so every column has a name.
|
|
62
90
|
* @param cells - the header row
|
|
63
91
|
* @returns the names
|
|
92
|
+
* @category Plugin helpers
|
|
64
93
|
*/
|
|
65
94
|
export declare function headerNames(cells: readonly string[]): string[];
|
|
66
95
|
//# sourceMappingURL=header.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/formats/csv/header.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/formats/csv/header.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAUxC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAWxC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,MAAM,EAAiD,CAAC;AAExF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAA6B,CAAC;AAEvE;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAA0B,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,SAAS,SAAS,CAAC;AAahC;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAa1F;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAoBpG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAwBnG;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAMvD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAK9D"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Header handling of the CSV importer: whether the first row is a header, which columns hold the
|
|
3
3
|
* endpoints, the weight, the Gephi per-row `Type`, the edge id and the label (by name lists and
|
|
4
|
-
* by position), and the
|
|
4
|
+
* by position), and the synthesized names of a headerless file (`column1`, `column2`, ...).
|
|
5
5
|
*
|
|
6
6
|
* Name resolution is exact first, then case-insensitive, over a candidate list in priority order,
|
|
7
7
|
* so `source` / `Source` / `SOURCE`, `src`, `from` all resolve without configuration; the Gephi
|
|
@@ -9,8 +9,12 @@
|
|
|
9
9
|
* per-row direction. A caller may name any column explicitly or give its 0-based position.
|
|
10
10
|
*/
|
|
11
11
|
import { GraphFormatError } from "@graphty/graph-format";
|
|
12
|
+
import { plural } from "../../common/plural.js";
|
|
12
13
|
import { inferTextDtype } from "../../common/text.js";
|
|
13
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* Header candidates of the source endpoint, in priority order (matched exactly, then case-insensitively).
|
|
16
|
+
* @category Plugin helpers
|
|
17
|
+
*/
|
|
14
18
|
export const SOURCE_NAMES = Object.freeze([
|
|
15
19
|
"source",
|
|
16
20
|
"src",
|
|
@@ -22,7 +26,10 @@ export const SOURCE_NAMES = Object.freeze([
|
|
|
22
26
|
"start_id",
|
|
23
27
|
":start_id",
|
|
24
28
|
]);
|
|
25
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* Header candidates of the target endpoint.
|
|
31
|
+
* @category Plugin helpers
|
|
32
|
+
*/
|
|
26
33
|
export const TARGET_NAMES = Object.freeze([
|
|
27
34
|
"target",
|
|
28
35
|
"dst",
|
|
@@ -35,13 +42,25 @@ export const TARGET_NAMES = Object.freeze([
|
|
|
35
42
|
"end_id",
|
|
36
43
|
":end_id",
|
|
37
44
|
]);
|
|
38
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* Header candidates of a node table's id column.
|
|
47
|
+
* @category Plugin helpers
|
|
48
|
+
*/
|
|
39
49
|
export const ID_NAMES = Object.freeze(["id", "node", "name", "key"]);
|
|
40
|
-
/**
|
|
50
|
+
/**
|
|
51
|
+
* Header candidates of a label column (node or edge).
|
|
52
|
+
* @category Plugin helpers
|
|
53
|
+
*/
|
|
41
54
|
export const LABEL_NAMES = Object.freeze(["label"]);
|
|
42
|
-
/**
|
|
55
|
+
/**
|
|
56
|
+
* Header candidates of an edge id column.
|
|
57
|
+
* @category Plugin helpers
|
|
58
|
+
*/
|
|
43
59
|
export const EDGE_ID_NAMES = Object.freeze(["id"]);
|
|
44
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
* The Gephi per-row direction column.
|
|
62
|
+
* @category Plugin helpers
|
|
63
|
+
*/
|
|
45
64
|
export const TYPE_NAME = "Type";
|
|
46
65
|
/** Every name that marks a first row as a header when the caller leaves detection to the importer. */
|
|
47
66
|
const HEADER_MARKERS = new Set([
|
|
@@ -59,6 +78,7 @@ const HEADER_MARKERS = new Set([
|
|
|
59
78
|
* @param names - the header names
|
|
60
79
|
* @param candidates - the names to look for, in priority order
|
|
61
80
|
* @returns the column index, or -1
|
|
81
|
+
* @category Plugin helpers
|
|
62
82
|
*/
|
|
63
83
|
export function findColumn(names, candidates) {
|
|
64
84
|
for (const candidate of candidates) {
|
|
@@ -82,11 +102,12 @@ export function findColumn(names, candidates) {
|
|
|
82
102
|
* @param ref - the option value
|
|
83
103
|
* @param option - the option name, for the error
|
|
84
104
|
* @returns the column index
|
|
105
|
+
* @category Plugin helpers
|
|
85
106
|
*/
|
|
86
107
|
export function resolveColumnRef(names, ref, option) {
|
|
87
108
|
if (typeof ref === "number") {
|
|
88
109
|
if (!Number.isInteger(ref) || ref < 0 || ref >= names.length) {
|
|
89
|
-
throw new GraphFormatError("E_UNSUPPORTED", `option ${option}: column ${ref} does not exist (the file has ${names.length} column(
|
|
110
|
+
throw new GraphFormatError("E_UNSUPPORTED", `option ${option}: column ${ref} does not exist (the file has ${names.length} column${plural(names.length)})`, { option, found: ref, columns: names.length });
|
|
90
111
|
}
|
|
91
112
|
return ref;
|
|
92
113
|
}
|
|
@@ -105,30 +126,44 @@ export function resolveColumnRef(names, ref, option) {
|
|
|
105
126
|
* is when any cell is a known column name (source, target, id, label, weight, type...), or when
|
|
106
127
|
* every cell is non-numeric text while the second row has a numeric cell (`u,v` over `1,2`);
|
|
107
128
|
* a first row with a numeric cell is data, and so is one that looks exactly like the rows below it.
|
|
129
|
+
* A two-column row holding a known name is still data when its second cell is the second row's
|
|
130
|
+
* first cell and it does not name both endpoints: a header names columns, while an edge list whose
|
|
131
|
+
* ids happen to be such words (`key,lock` over `lock,door`) chains its ids from row to row.
|
|
108
132
|
* @param first - the first row
|
|
109
133
|
* @param second - the second row, or null when the file has one row
|
|
110
134
|
* @returns true when the first row is a header
|
|
135
|
+
* @category Plugin helpers
|
|
111
136
|
*/
|
|
112
137
|
export function looksLikeHeader(first, second) {
|
|
113
138
|
let allText = true;
|
|
139
|
+
let marker = false;
|
|
114
140
|
for (const cell of first) {
|
|
115
141
|
const text = cell.trim();
|
|
116
142
|
if (HEADER_MARKERS.has(text.toLowerCase())) {
|
|
117
|
-
|
|
143
|
+
marker = true;
|
|
118
144
|
}
|
|
119
145
|
if (text.length === 0 || inferTextDtype(text) !== "string") {
|
|
120
146
|
allText = false;
|
|
121
147
|
}
|
|
122
148
|
}
|
|
149
|
+
if (marker) {
|
|
150
|
+
const names = headerNames(first);
|
|
151
|
+
if (second === null || (findColumn(names, SOURCE_NAMES) >= 0 && findColumn(names, TARGET_NAMES) >= 0)) {
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
const chained = first.length === 2 && second.length >= 1 && first[1].trim() === second[0].trim();
|
|
155
|
+
return !chained || first[1].trim().length === 0;
|
|
156
|
+
}
|
|
123
157
|
if (!allText || second === null) {
|
|
124
158
|
return false;
|
|
125
159
|
}
|
|
126
160
|
return second.some((cell) => cell.trim().length > 0 && inferTextDtype(cell.trim()) !== "string");
|
|
127
161
|
}
|
|
128
162
|
/**
|
|
129
|
-
* The
|
|
163
|
+
* The synthesized header of a headerless file: `column1` ... `columnN`.
|
|
130
164
|
* @param width - the number of cells of the first row
|
|
131
165
|
* @returns the names
|
|
166
|
+
* @category Plugin helpers
|
|
132
167
|
*/
|
|
133
168
|
export function positionalNames(width) {
|
|
134
169
|
const names = [];
|
|
@@ -142,6 +177,7 @@ export function positionalNames(width) {
|
|
|
142
177
|
* empty cell named by its position so every column has a name.
|
|
143
178
|
* @param cells - the header row
|
|
144
179
|
* @returns the names
|
|
180
|
+
* @category Plugin helpers
|
|
145
181
|
*/
|
|
146
182
|
export function headerNames(cells) {
|
|
147
183
|
return cells.map((cell, i) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/formats/csv/header.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/formats/csv/header.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* The CSV / TSV importer (design sections 8.4 and 8.6; research note 07 section 2.6): a streaming
|
|
3
3
|
* edge-list reader for the generic (`source,target[,weight,...]`), Gephi (`Source,Target,Type,Id,
|
|
4
4
|
* Label,Weight,...`) and headerless (`u v [w]`) dialects, with an optional node table merged by id,
|
|
5
|
-
* and, with `table: "adjacency"`, an adjacency table (`node,
|
|
5
|
+
* and, with `table: "adjacency"`, an adjacency table (`node,neighbor[:weight],...`).
|
|
6
6
|
*
|
|
7
7
|
* - The delimiter is sniffed from a preview unless given; LF, CRLF and lone-CR files all read.
|
|
8
8
|
* - The first row is a header when it holds a known column name or when it is all text over a
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* all-text column of low cardinality becomes a dict (design section 5.4); an `id` column of the
|
|
22
22
|
* edge table is the edge id (role id, unique); a `label` column is the label (role label).
|
|
23
23
|
* - An adjacency table has no header (unless `header: true`, which skips the first row): each row
|
|
24
|
-
* is a node followed by its
|
|
24
|
+
* is a node followed by its neighbors, one edge per neighbor in row order. A neighbor cell
|
|
25
25
|
* `id:weight` carries the edge's weight when the text after its LAST colon is a number; a cell
|
|
26
26
|
* ending in a bare colon (`a:1:`) is the id before it with no weight; any other cell is the id
|
|
27
27
|
* as written (`http://x`). A row holding only its node adds an isolated node. An empty adjacency
|
|
@@ -36,79 +36,229 @@
|
|
|
36
36
|
* exceeded, on a malformed or unterminated quoted field, on an empty input and on a header
|
|
37
37
|
* without endpoint (or id) columns.
|
|
38
38
|
*/
|
|
39
|
-
import { type GraphImporter, type ImportInput } from "../../types.js";
|
|
39
|
+
import { type CommonImportOptions, type GraphImporter, type ImportInput } from "../../types.js";
|
|
40
40
|
import { type CsvColumnRef } from "./header.js";
|
|
41
|
-
/**
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
/**
|
|
42
|
+
* The format-specific options of the CSV importer.
|
|
43
|
+
* @category Built-in formats
|
|
44
|
+
*/
|
|
45
|
+
export interface CsvImportOptions extends CommonImportOptions {
|
|
46
|
+
/**
|
|
47
|
+
* The field delimiter. The default is to detect it from the first rows: `,`, tab, `;`, `|` or
|
|
48
|
+
* space. It applies to the `nodes` table too.
|
|
49
|
+
* @defaultValue detected
|
|
50
|
+
*/
|
|
44
51
|
delimiter?: string | undefined;
|
|
45
|
-
/**
|
|
52
|
+
/**
|
|
53
|
+
* The decimal separator of numbers. With ",", a cell such as `2,5` (digits, a comma, digits) is
|
|
54
|
+
* read as the number 2.5, for weights and attributes alike, and the delimiter is detected among
|
|
55
|
+
* the others (`;`, tab, `|`, space), so a spreadsheet saved in a locale that writes decimal
|
|
56
|
+
* commas reads as it is. A thousands separator is not read.
|
|
57
|
+
* @defaultValue "."
|
|
58
|
+
*/
|
|
59
|
+
decimal?: "." | "," | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Whether the first row is a header; "auto" decides from its content (a header names columns, a
|
|
62
|
+
* data row holds ids and numbers). It applies to the `nodes` table too.
|
|
63
|
+
* @defaultValue "auto"
|
|
64
|
+
*/
|
|
46
65
|
header?: boolean | "auto" | undefined;
|
|
47
66
|
/**
|
|
48
|
-
* What the input is:
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
67
|
+
* What the input is: "edges" (one edge per row), "nodes" (one node per row), "adjacency" (a
|
|
68
|
+
* node and its neighbors per row, `node,neighbor[:weight],...`, with no header unless you pass
|
|
69
|
+
* `header: true`), or "auto": an edge table when source and target columns can be found, a node
|
|
70
|
+
* table when only an id column can. An adjacency table is never detected, because its rows look
|
|
71
|
+
* like an edge list.
|
|
72
|
+
* @defaultValue "auto"
|
|
52
73
|
*/
|
|
53
74
|
table?: "edges" | "nodes" | "adjacency" | "auto" | undefined;
|
|
54
|
-
/**
|
|
75
|
+
/**
|
|
76
|
+
* The source column, by name or 0-based position. The default is the column whose header is a
|
|
77
|
+
* recognized source name (`source`, `from`, `src` and others; the CSV format page lists them
|
|
78
|
+
* all); in a file without a header, the first column. A header with no recognized source and
|
|
79
|
+
* target names needs this option and `targetColumn`.
|
|
80
|
+
* @defaultValue from the header
|
|
81
|
+
*/
|
|
55
82
|
sourceColumn?: CsvColumnRef | undefined;
|
|
56
|
-
/**
|
|
83
|
+
/**
|
|
84
|
+
* The target column, by name or 0-based position. The default is the column whose header is a
|
|
85
|
+
* recognized target name (`target`, `to`, `dst` and others; the CSV format page lists them
|
|
86
|
+
* all); in a file without a header, the second column.
|
|
87
|
+
* @defaultValue from the header
|
|
88
|
+
*/
|
|
57
89
|
targetColumn?: CsvColumnRef | undefined;
|
|
58
90
|
/**
|
|
59
|
-
* The
|
|
60
|
-
* column of a Gephi table (
|
|
91
|
+
* The column that gives each edge's direction (Directed / Undirected / Mutual), by name or
|
|
92
|
+
* position. The default is the `Type` column of a Gephi table (one whose header has exactly
|
|
93
|
+
* `Source` and `Target`); null reads no such column.
|
|
94
|
+
* @defaultValue Gephi's Type
|
|
61
95
|
*/
|
|
62
96
|
typeColumn?: CsvColumnRef | null | undefined;
|
|
63
|
-
/**
|
|
97
|
+
/**
|
|
98
|
+
* The id column of a node table, by name or position. The default is the column the header
|
|
99
|
+
* names `id` (or `node`, `name`, `key`).
|
|
100
|
+
* @defaultValue from the header
|
|
101
|
+
*/
|
|
64
102
|
idColumn?: CsvColumnRef | undefined;
|
|
65
|
-
/** A node table read before the edges: its ids become nodes and its other columns node attributes. */
|
|
66
|
-
nodes?: ImportInput | undefined;
|
|
67
103
|
/**
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
104
|
+
* The label column of a node table, by name or position. The default is the column the header
|
|
105
|
+
* names `label` (in any case). With `nodeIdFrom: "label"`, the node ids come from this column,
|
|
106
|
+
* and the edge table must name its nodes by these labels too.
|
|
107
|
+
* @defaultValue from the header
|
|
108
|
+
*/
|
|
109
|
+
labelColumn?: CsvColumnRef | undefined;
|
|
110
|
+
/**
|
|
111
|
+
* A node table to read before the edges: its ids become nodes and its other columns node
|
|
112
|
+
* attributes. Pass it as a string, bytes, a stream, or a `File` or `Blob` (for example, the second file a
|
|
113
|
+
* user picked).
|
|
114
|
+
*/
|
|
115
|
+
nodes?: ImportInput | Blob | undefined;
|
|
116
|
+
/**
|
|
117
|
+
* Give the nodes of a node table without an id column the row number as id (0 for the first
|
|
118
|
+
* data row, turned into an id by `ids`), instead of failing with E_CSV_NO_ID_COLUMN. It applies
|
|
119
|
+
* to the `nodes` table when you pass one, else to the input. Under `header: "auto"` that
|
|
120
|
+
* table's first row is then read as a header; under `header: false` the option is ignored with
|
|
121
|
+
* a warning, because a table without a header takes its ids from its first column.
|
|
122
|
+
* @defaultValue false
|
|
72
123
|
*/
|
|
73
124
|
rowNumberIds?: boolean | undefined;
|
|
74
125
|
}
|
|
75
|
-
/**
|
|
126
|
+
/**
|
|
127
|
+
* The input holds no header row at all.
|
|
128
|
+
* @category Issue and loss codes
|
|
129
|
+
*/
|
|
76
130
|
export declare const EMPTY_INPUT_CODE = "E_EMPTY_INPUT";
|
|
77
|
-
/**
|
|
131
|
+
/**
|
|
132
|
+
* The header names no source / target (or, for a node table, no id) column.
|
|
133
|
+
* @category Issue and loss codes
|
|
134
|
+
*/
|
|
78
135
|
export declare const NO_ENDPOINT_COLUMNS_CODE = "E_CSV_NO_ENDPOINT_COLUMNS";
|
|
79
|
-
/**
|
|
136
|
+
/**
|
|
137
|
+
* A node table without an id column.
|
|
138
|
+
* @category Issue and loss codes
|
|
139
|
+
*/
|
|
80
140
|
export declare const NO_ID_COLUMN_CODE = "E_CSV_NO_ID_COLUMN";
|
|
81
|
-
/**
|
|
141
|
+
/**
|
|
142
|
+
* A row with a different number of fields than the header.
|
|
143
|
+
* @category Issue and loss codes
|
|
144
|
+
*/
|
|
82
145
|
export declare const FIELD_COUNT_CODE = "E_CSV_FIELD_COUNT";
|
|
83
|
-
/**
|
|
146
|
+
/**
|
|
147
|
+
* An edge row with a blank source or target cell.
|
|
148
|
+
* @category Issue and loss codes
|
|
149
|
+
*/
|
|
84
150
|
export declare const MISSING_ENDPOINT_CODE = "E_MISSING_ENDPOINT";
|
|
85
|
-
/**
|
|
151
|
+
/**
|
|
152
|
+
* A node row with a blank id cell.
|
|
153
|
+
* @category Issue and loss codes
|
|
154
|
+
*/
|
|
86
155
|
export declare const MISSING_ID_CODE = "E_MISSING_ID";
|
|
87
|
-
/**
|
|
156
|
+
/**
|
|
157
|
+
* A Type cell that is not Directed, Undirected or Mutual.
|
|
158
|
+
* @category Issue and loss codes
|
|
159
|
+
*/
|
|
88
160
|
export declare const BAD_TYPE_CODE = "E_CSV_BAD_TYPE";
|
|
89
|
-
/**
|
|
161
|
+
/**
|
|
162
|
+
* The table has a header and no data rows.
|
|
163
|
+
* @category Issue and loss codes
|
|
164
|
+
*/
|
|
90
165
|
export declare const NO_DATA_ROWS_CODE = "W_CSV_NO_DATA_ROWS";
|
|
91
|
-
/**
|
|
166
|
+
/**
|
|
167
|
+
* A node table row repeats an id; its attributes overwrite the earlier row's.
|
|
168
|
+
* @category Issue and loss codes
|
|
169
|
+
*/
|
|
92
170
|
export declare const DUPLICATE_NODE_CODE = "W_DUPLICATE_NODE";
|
|
93
|
-
/**
|
|
171
|
+
/**
|
|
172
|
+
* Two different id cells became the same number because `ids` is "number", so their nodes were merged.
|
|
173
|
+
* @category Issue and loss codes
|
|
174
|
+
*/
|
|
94
175
|
export declare const ID_MERGED_CODE = "W_ID_MERGED";
|
|
95
|
-
/**
|
|
176
|
+
/**
|
|
177
|
+
* An explicitly named weight column the file does not have.
|
|
178
|
+
* @category Issue and loss codes
|
|
179
|
+
*/
|
|
96
180
|
export declare const COLUMN_MISSING_CODE = "W_CSV_COLUMN_MISSING";
|
|
97
|
-
/**
|
|
181
|
+
/**
|
|
182
|
+
* You read into a graph builder that already has an id or label attribute, so this file's one is kept without its
|
|
183
|
+
* role.
|
|
184
|
+
* @category Issue and loss codes
|
|
185
|
+
*/
|
|
98
186
|
export declare const ROLE_TAKEN_CODE = "W_ROLE_TAKEN";
|
|
99
|
-
/**
|
|
187
|
+
/**
|
|
188
|
+
* A repeated edge id (the column is unique); the edge is skipped.
|
|
189
|
+
* @category Issue and loss codes
|
|
190
|
+
*/
|
|
100
191
|
export declare const DUPLICATE_EDGE_ID_CODE = "E_DUPLICATE_EDGE_ID";
|
|
101
192
|
/**
|
|
102
|
-
*
|
|
193
|
+
* The input starts like another format (XML or HTML, JSON, GML, DOT or Pajek), not CSV. The import stops.
|
|
194
|
+
* @category Issue and loss codes
|
|
195
|
+
*/
|
|
196
|
+
export declare const OTHER_FORMAT_CODE = "E_CSV_OTHER_FORMAT";
|
|
197
|
+
/**
|
|
198
|
+
* A quote inside an unquoted field (RFC 4180 forbids it); the quote is kept as text.
|
|
199
|
+
* @category Issue and loss codes
|
|
200
|
+
*/
|
|
201
|
+
export declare const STRAY_QUOTE_CODE = "W_CSV_STRAY_QUOTE";
|
|
202
|
+
/**
|
|
203
|
+
* A leading comment's direction disagrees with defaultDirected or with an earlier comment.
|
|
204
|
+
* @category Issue and loss codes
|
|
205
|
+
*/
|
|
206
|
+
export declare const COMMENT_DIRECTION_CODE = "W_CSV_COMMENT_DIRECTION";
|
|
207
|
+
/**
|
|
208
|
+
* A column named like Gephi's Type holds direction words but is read as a plain attribute.
|
|
209
|
+
* @category Issue and loss codes
|
|
210
|
+
*/
|
|
211
|
+
export declare const TYPE_COLUMN_IGNORED_CODE = "W_CSV_TYPE_COLUMN_IGNORED";
|
|
212
|
+
/**
|
|
213
|
+
* The header ends in a delimiter; rows without the empty last cell are read as complete.
|
|
214
|
+
* @category Issue and loss codes
|
|
215
|
+
*/
|
|
216
|
+
export declare const TRAILING_HEADER_DELIMITER_CODE = "W_CSV_TRAILING_HEADER_DELIMITER";
|
|
217
|
+
/**
|
|
218
|
+
* Every row is one cell that another delimiter would split (a likely wrong delimiter).
|
|
219
|
+
* @category Issue and loss codes
|
|
220
|
+
*/
|
|
221
|
+
export declare const SINGLE_COLUMN_CODE = "W_CSV_SINGLE_COLUMN";
|
|
222
|
+
/**
|
|
223
|
+
* Several header columns name the same role; the one not chosen is a plain attribute.
|
|
224
|
+
* @category Issue and loss codes
|
|
225
|
+
*/
|
|
226
|
+
export declare const AMBIGUOUS_COLUMN_CODE = "W_CSV_AMBIGUOUS_COLUMN";
|
|
227
|
+
/**
|
|
228
|
+
* An unquoted id with leading or trailing whitespace (kept, RFC 4180), distinct from the bare id.
|
|
229
|
+
* @category Issue and loss codes
|
|
230
|
+
*/
|
|
231
|
+
export declare const PADDED_ID_CODE = "W_CSV_PADDED_ID";
|
|
232
|
+
/**
|
|
233
|
+
* A leading `#` / `%` line skipped as a comment has the fields of a record.
|
|
234
|
+
* @category Issue and loss codes
|
|
235
|
+
*/
|
|
236
|
+
export declare const COMMENT_LIKE_RECORD_CODE = "W_CSV_COMMENT_LIKE_RECORD";
|
|
237
|
+
/**
|
|
238
|
+
* Data rows end in one extra empty cell (a trailing delimiter); the cell is dropped.
|
|
239
|
+
* @category Issue and loss codes
|
|
240
|
+
*/
|
|
241
|
+
export declare const TRAILING_DELIMITER_CODE = "W_CSV_TRAILING_DELIMITER";
|
|
242
|
+
/**
|
|
243
|
+
* A headerless three-column table's third column holds text, so it is an attribute, not the weight.
|
|
244
|
+
* @category Issue and loss codes
|
|
245
|
+
*/
|
|
246
|
+
export declare const WEIGHT_AS_ATTRIBUTE_CODE = "W_CSV_WEIGHT_AS_ATTRIBUTE";
|
|
247
|
+
/**
|
|
248
|
+
* Split an adjacency neighbor cell into its id and weight: the text after the LAST colon is the
|
|
103
249
|
* weight when it is a number, nothing when it is empty (`a:1:` is the id `a:1`, unweighted, the
|
|
104
250
|
* form the exporter writes for an id containing a colon), and part of the id otherwise.
|
|
105
251
|
* @param text - the cell text
|
|
106
252
|
* @returns the id text and the weight (undefined when the cell has none)
|
|
253
|
+
* @category Plugin helpers
|
|
107
254
|
*/
|
|
108
255
|
export declare function splitNeighbour(text: string): {
|
|
109
256
|
readonly id: string;
|
|
110
257
|
readonly weight: number | undefined;
|
|
111
258
|
};
|
|
112
|
-
/**
|
|
259
|
+
/**
|
|
260
|
+
* The CSV / TSV importer plugin (subpath `@graphty/graph-io/csv`).
|
|
261
|
+
* @category Built-in formats
|
|
262
|
+
*/
|
|
113
263
|
export declare const csvImporter: GraphImporter<CsvImportOptions>;
|
|
114
264
|
//# sourceMappingURL=importer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/csv/importer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;
|
|
1
|
+
{"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/csv/importer.ts"],"names":[],"mappings":"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"}
|