@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
|
@@ -5,7 +5,11 @@
|
|
|
5
5
|
* UTF-8 chunks of a bounded size, into `exportToString()`'s one string, or into a
|
|
6
6
|
* `ReadableStream<Uint8Array>` for a caller that wants a stream.
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
import { GraphFormatError } from "@graphty/graph-format";
|
|
9
|
+
/**
|
|
10
|
+
* The target size of one encoded chunk; parts are coalesced up to it and never split.
|
|
11
|
+
* @category Plugin helpers
|
|
12
|
+
*/
|
|
9
13
|
export const DEFAULT_CHUNK_BYTES = 64 * 1024;
|
|
10
14
|
/**
|
|
11
15
|
* Encode text parts as UTF-8 chunks of about `chunkBytes` each. Small parts are coalesced; a part
|
|
@@ -15,6 +19,7 @@ export const DEFAULT_CHUNK_BYTES = 64 * 1024;
|
|
|
15
19
|
* @param chunkBytes - the target chunk size in bytes
|
|
16
20
|
* @yields UTF-8 chunks
|
|
17
21
|
* @returns nothing
|
|
22
|
+
* @category Writing a format
|
|
18
23
|
*/
|
|
19
24
|
export async function* encodeChunks(parts, chunkBytes = DEFAULT_CHUNK_BYTES) {
|
|
20
25
|
const encoder = new TextEncoder();
|
|
@@ -41,6 +46,7 @@ export async function* encodeChunks(parts, chunkBytes = DEFAULT_CHUNK_BYTES) {
|
|
|
41
46
|
* Join text parts into one string.
|
|
42
47
|
* @param parts - the text parts
|
|
43
48
|
* @returns the whole document
|
|
49
|
+
* @category Writing a format
|
|
44
50
|
*/
|
|
45
51
|
export async function joinText(parts) {
|
|
46
52
|
const collected = [];
|
|
@@ -53,6 +59,7 @@ export async function joinText(parts) {
|
|
|
53
59
|
* Decode UTF-8 chunks back into one string (for tests and for callers holding an export() result).
|
|
54
60
|
* @param chunks - the chunks
|
|
55
61
|
* @returns the decoded text
|
|
62
|
+
* @category Plugin helpers
|
|
56
63
|
*/
|
|
57
64
|
export async function decodeChunks(chunks) {
|
|
58
65
|
const decoder = new TextDecoder("utf-8", { fatal: true });
|
|
@@ -67,6 +74,7 @@ export async function decodeChunks(chunks) {
|
|
|
67
74
|
* Collect UTF-8 chunks into one Uint8Array.
|
|
68
75
|
* @param chunks - the chunks
|
|
69
76
|
* @returns the concatenated bytes
|
|
77
|
+
* @category Plugin helpers
|
|
70
78
|
*/
|
|
71
79
|
export async function collectBytes(chunks) {
|
|
72
80
|
const parts = [];
|
|
@@ -85,9 +93,10 @@ export async function collectBytes(chunks) {
|
|
|
85
93
|
}
|
|
86
94
|
/**
|
|
87
95
|
* Wrap an async iterable of chunks as a ReadableStream, pulling one chunk per read and cancelling
|
|
88
|
-
* the iterable when the stream is
|
|
96
|
+
* the iterable when the stream is canceled.
|
|
89
97
|
* @param chunks - the chunks
|
|
90
98
|
* @returns a byte stream
|
|
99
|
+
* @category Saving
|
|
91
100
|
*/
|
|
92
101
|
export function toReadableStream(chunks) {
|
|
93
102
|
const iterator = chunks[Symbol.asyncIterator]();
|
|
@@ -105,4 +114,23 @@ export function toReadableStream(chunks) {
|
|
|
105
114
|
},
|
|
106
115
|
});
|
|
107
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* The indentation of one nesting level from an `indent` option: a number of spaces (0 to 16), or
|
|
119
|
+
* the text itself (spaces or tabs). The JSON and DOT exporters take the same option this way.
|
|
120
|
+
* @param value - the option value
|
|
121
|
+
* @param fallback - the indentation when the option is not given
|
|
122
|
+
* @returns the text of one level; "" for none
|
|
123
|
+
*/
|
|
124
|
+
export function indentUnit(value, fallback) {
|
|
125
|
+
if (value === undefined) {
|
|
126
|
+
return fallback;
|
|
127
|
+
}
|
|
128
|
+
if (typeof value === "number" && Number.isInteger(value) && value >= 0 && value <= 16) {
|
|
129
|
+
return " ".repeat(value);
|
|
130
|
+
}
|
|
131
|
+
if (typeof value === "string" && /^[ \t]{0,16}$/.test(value)) {
|
|
132
|
+
return value;
|
|
133
|
+
}
|
|
134
|
+
throw new GraphFormatError("E_UNSUPPORTED", `option indent: ${typeof value === "string" || typeof value === "number" ? JSON.stringify(value) : typeof value} is not a number of spaces (0 to 16) or a string of spaces or tabs`, { option: "indent", found: typeof value === "string" || typeof value === "number" ? value : typeof value });
|
|
135
|
+
}
|
|
108
136
|
//# sourceMappingURL=writer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../src/common/writer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../src/common/writer.ts"],"names":[],"mappings":"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"}
|
package/dist/src/common/xml.d.ts
CHANGED
|
@@ -8,11 +8,13 @@
|
|
|
8
8
|
* instead of re-reading the token from its `<`, and line numbers are counted from a cached next
|
|
9
9
|
* line-break position, so a document without line breaks costs the same as one with them.
|
|
10
10
|
*
|
|
11
|
-
* What it handles: the XML declaration and processing instructions (skipped), comments (skipped
|
|
11
|
+
* What it handles: the XML declaration and processing instructions (skipped), comments (skipped;
|
|
12
|
+
* a `--` inside one, which XML 1.0 forbids, is accepted: a comment carries no data and banner
|
|
13
|
+
* comments such as `<!-- ----- -->` are common in hand-written files),
|
|
12
14
|
* CDATA sections (text), a DOCTYPE with an internal subset (skipped; entity declarations are not
|
|
13
15
|
* expanded, so an unknown entity reference is a syntax error), the five predefined entities and
|
|
14
16
|
* numeric character references (decimal and hexadecimal) in text and attribute values, attribute
|
|
15
|
-
* value whitespace
|
|
17
|
+
* value whitespace normalization, end-of-line normalization (CR LF and lone CR become LF), and
|
|
16
18
|
* well-formedness: matching end tags, one root element, no text outside it, no duplicate
|
|
17
19
|
* attributes, no unterminated markup at the end of the input. Namespaces are not resolved; element
|
|
18
20
|
* and attribute names are reported as written (with their prefix).
|
|
@@ -26,15 +28,21 @@
|
|
|
26
28
|
*/
|
|
27
29
|
import { type GraphSnapshot } from "@graphty/graph-format";
|
|
28
30
|
import { type LossNote } from "../types.js";
|
|
29
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* The events of the tokenizer; every callback is synchronous.
|
|
33
|
+
* @category Plugin helpers
|
|
34
|
+
*/
|
|
30
35
|
export interface XmlHandler {
|
|
31
36
|
/**
|
|
32
37
|
* An element starts (a self-closing element produces start then end).
|
|
33
38
|
* @param name - the element name as written, prefix included
|
|
34
39
|
* @param attrs - the attributes, entities decoded, in document order
|
|
35
40
|
* @param line - the 1-based line of the `<`
|
|
41
|
+
* @param ns - the namespace URI the element's prefix (or the default namespace) is bound to:
|
|
42
|
+
* "" when the element is in no namespace, null when its prefix is undeclared or the name is not
|
|
43
|
+
* namespace-well-formed (a leading or trailing colon, two colons)
|
|
36
44
|
*/
|
|
37
|
-
start(name: string, attrs: ReadonlyMap<string, string>, line: number): void;
|
|
45
|
+
start(name: string, attrs: ReadonlyMap<string, string>, line: number, ns: string | null): void;
|
|
38
46
|
/**
|
|
39
47
|
* An element ends.
|
|
40
48
|
* @param name - the element name
|
|
@@ -48,8 +56,17 @@ export interface XmlHandler {
|
|
|
48
56
|
* @param line - the 1-based line where the run starts
|
|
49
57
|
*/
|
|
50
58
|
text(text: string, line: number): void;
|
|
59
|
+
/**
|
|
60
|
+
* A DOCTYPE declaration (optional; its internal subset is never expanded).
|
|
61
|
+
* @param text - the declaration as written, from `<!DOCTYPE` to its `>`
|
|
62
|
+
* @param line - the 1-based line of the `<`
|
|
63
|
+
*/
|
|
64
|
+
doctype?(text: string, line: number): void;
|
|
51
65
|
}
|
|
52
|
-
/**
|
|
66
|
+
/**
|
|
67
|
+
* A well-formedness or syntax error, with the line it was found on.
|
|
68
|
+
* @category Plugin helpers
|
|
69
|
+
*/
|
|
53
70
|
export declare class XmlSyntaxError extends Error {
|
|
54
71
|
/** The 1-based line. */
|
|
55
72
|
readonly line: number;
|
|
@@ -61,10 +78,22 @@ export declare class XmlSyntaxError extends Error {
|
|
|
61
78
|
constructor(message: string, line: number);
|
|
62
79
|
}
|
|
63
80
|
/**
|
|
64
|
-
*
|
|
65
|
-
*
|
|
81
|
+
* The input holds no markup at all (empty, whitespace only, a byte order mark only): an importer
|
|
82
|
+
* reports it as E_EMPTY_INPUT rather than as a syntax error.
|
|
83
|
+
* @category Plugin helpers
|
|
84
|
+
*/
|
|
85
|
+
export declare class XmlEmptyInputError extends XmlSyntaxError {
|
|
86
|
+
/**
|
|
87
|
+
* Create the error.
|
|
88
|
+
* @param line - the 1-based line where the input ended
|
|
89
|
+
*/
|
|
90
|
+
constructor(line: number);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Opt-in repairs of two defects the Cytoscape XGMML writer is known to produce. Each is off unless its callback is given; GEXF and GraphML never
|
|
66
94
|
* pass them, so their documents stay strictly well-formed. The callback is told the line of each
|
|
67
95
|
* repair, so the importer can warn per occurrence.
|
|
96
|
+
* @category Plugin helpers
|
|
68
97
|
*/
|
|
69
98
|
export interface XmlRepairs {
|
|
70
99
|
/**
|
|
@@ -87,6 +116,7 @@ export interface XmlRepairs {
|
|
|
87
116
|
* written even as a character reference, so a conforming parser rejects the whole document.
|
|
88
117
|
* @param text - the text
|
|
89
118
|
* @returns true when the text cannot appear in an XML 1.0 document
|
|
119
|
+
* @category Plugin helpers
|
|
90
120
|
*/
|
|
91
121
|
export declare function hasIllegalXmlChar(text: string): boolean;
|
|
92
122
|
/**
|
|
@@ -96,6 +126,7 @@ export declare function hasIllegalXmlChar(text: string): boolean;
|
|
|
96
126
|
* the first such text. Shared by the GEXF and GraphML exporters' check().
|
|
97
127
|
* @param snapshot - the snapshot
|
|
98
128
|
* @returns the notes, empty when every text is writable
|
|
129
|
+
* @category Plugin helpers
|
|
99
130
|
*/
|
|
100
131
|
export declare function xmlIllegalTextNotes(snapshot: GraphSnapshot): LossNote[];
|
|
101
132
|
/**
|
|
@@ -103,12 +134,22 @@ export declare function xmlIllegalTextNotes(snapshot: GraphSnapshot): LossNote[]
|
|
|
103
134
|
* for the shared byte decoder (common/input.ts).
|
|
104
135
|
* @param head - the start of the document, decoded as windows-1252
|
|
105
136
|
* @returns the declared label, or null when there is no declaration or it names no encoding
|
|
137
|
+
* @category Plugin helpers
|
|
106
138
|
*/
|
|
107
139
|
export declare function xmlDeclaredEncoding(head: string): string | null;
|
|
140
|
+
/**
|
|
141
|
+
* The head of a document as text for an XML format's sniff(): UTF-16 when a byte order mark (or
|
|
142
|
+
* BOM-less UTF-16 `<?`, XML 1.0 Appendix F) says so, else UTF-8, never failing.
|
|
143
|
+
* @param head - the first bytes
|
|
144
|
+
* @returns the text, a leading byte order mark removed
|
|
145
|
+
* @category Plugin helpers
|
|
146
|
+
*/
|
|
147
|
+
export declare function sniffXmlText(head: Uint8Array): string;
|
|
108
148
|
/**
|
|
109
149
|
* Whether a text is an XML Name.
|
|
110
150
|
* @param text - the text
|
|
111
151
|
* @returns true for a well-formed name
|
|
152
|
+
* @category Plugin helpers
|
|
112
153
|
*/
|
|
113
154
|
export declare function isXmlName(text: string): boolean;
|
|
114
155
|
/**
|
|
@@ -117,18 +158,21 @@ export declare function isXmlName(text: string): boolean;
|
|
|
117
158
|
* @param line - the line, for errors
|
|
118
159
|
* @param repairs - the opt-in repairs (XGMML only); none by default
|
|
119
160
|
* @returns the decoded text
|
|
161
|
+
* @category Plugin helpers
|
|
120
162
|
*/
|
|
121
163
|
export declare function decodeEntities(raw: string, line: number, repairs?: XmlRepairs): string;
|
|
122
164
|
/**
|
|
123
165
|
* Whether a text is whitespace only.
|
|
124
166
|
* @param text - the text
|
|
125
167
|
* @returns true when every character is XML whitespace (also for an empty text)
|
|
168
|
+
* @category Plugin helpers
|
|
126
169
|
*/
|
|
127
170
|
export declare function isWhitespace(text: string): boolean;
|
|
128
171
|
/**
|
|
129
172
|
* The local part of a possibly prefixed XML name.
|
|
130
173
|
* @param name - the name as written
|
|
131
174
|
* @returns the text after the last colon, or the name itself
|
|
175
|
+
* @category Plugin helpers
|
|
132
176
|
*/
|
|
133
177
|
export declare function localName(name: string): string;
|
|
134
178
|
/**
|
|
@@ -137,11 +181,13 @@ export declare function localName(name: string): string;
|
|
|
137
181
|
* @param chunks - the text (already UTF-8 decoded, BOM removed)
|
|
138
182
|
* @param handler - the event sink
|
|
139
183
|
* @param repairs - the opt-in repairs (XGMML only); none by default
|
|
184
|
+
* @category Plugin helpers
|
|
140
185
|
*/
|
|
141
186
|
export declare function tokenizeXml(chunks: AsyncIterable<string>, handler: XmlHandler, repairs?: XmlRepairs): Promise<void>;
|
|
142
187
|
/**
|
|
143
188
|
* The tokenizer state: the unconsumed tail of the input, the current line, the open element
|
|
144
189
|
* stack and the text run being accumulated. `push()` chunks, then `finish()`.
|
|
190
|
+
* @category Plugin helpers
|
|
145
191
|
*/
|
|
146
192
|
export declare class XmlTokenizer {
|
|
147
193
|
private readonly handler;
|
|
@@ -166,6 +212,20 @@ export declare class XmlTokenizer {
|
|
|
166
212
|
private readonly stack;
|
|
167
213
|
private rootSeen;
|
|
168
214
|
private rootClosed;
|
|
215
|
+
/** Whether any markup was consumed (an input with none is empty, not malformed). */
|
|
216
|
+
private markupSeen;
|
|
217
|
+
/** Whether nothing has been consumed yet: the XML declaration may only appear here. */
|
|
218
|
+
private atStart;
|
|
219
|
+
/** Whether a DOCTYPE declaration was read (one is allowed, in the prolog). */
|
|
220
|
+
private doctypeSeen;
|
|
221
|
+
/** The version of the XML declaration, or null. */
|
|
222
|
+
private version;
|
|
223
|
+
/** The last two characters of the character data since the last markup, for the `]]>` check. */
|
|
224
|
+
private textTail;
|
|
225
|
+
/** A high surrogate held back from the end of the previous chunk (its low half may start the next). */
|
|
226
|
+
private pendingHigh;
|
|
227
|
+
/** The namespace declarations in scope, innermost last. */
|
|
228
|
+
private readonly bindings;
|
|
169
229
|
private readonly repairs;
|
|
170
230
|
/**
|
|
171
231
|
* Create a tokenizer.
|
|
@@ -173,6 +233,12 @@ export declare class XmlTokenizer {
|
|
|
173
233
|
* @param repairs - the opt-in repairs (XGMML only); none by default
|
|
174
234
|
*/
|
|
175
235
|
constructor(handler: XmlHandler, repairs?: XmlRepairs);
|
|
236
|
+
/**
|
|
237
|
+
* Whether the document's XML declaration says version 1.1 (read by the XML 1.0 rules all the
|
|
238
|
+
* same; the syntax error of a 1.1-only construct then says why).
|
|
239
|
+
* @returns true after a `<?xml version="1.1"?>` declaration
|
|
240
|
+
*/
|
|
241
|
+
get declaresXml11(): boolean;
|
|
176
242
|
/**
|
|
177
243
|
* Feed one chunk and emit every complete token in it.
|
|
178
244
|
* @param chunk - the text
|
|
@@ -181,9 +247,9 @@ export declare class XmlTokenizer {
|
|
|
181
247
|
/** Signal the end of the input: flush the last text run and check well-formedness. */
|
|
182
248
|
finish(): void;
|
|
183
249
|
/**
|
|
184
|
-
* Append
|
|
250
|
+
* Append normalized text: continue a pending token's terminator scan over the new text alone,
|
|
185
251
|
* and once the token is complete (or when none is pending) scan the buffer for tokens.
|
|
186
|
-
* @param text - the text, line breaks
|
|
252
|
+
* @param text - the text, line breaks normalized
|
|
187
253
|
*/
|
|
188
254
|
private feed;
|
|
189
255
|
/**
|
|
@@ -233,6 +299,48 @@ export declare class XmlTokenizer {
|
|
|
233
299
|
* @returns the index after the markup, or -1 when the buffer ends before the markup does
|
|
234
300
|
*/
|
|
235
301
|
private consumeMarkup;
|
|
302
|
+
/**
|
|
303
|
+
* Read the markup starting at `pos` (a `<`) and deliver what it means.
|
|
304
|
+
* @param pos - the index of the `<`
|
|
305
|
+
* @returns the index after the markup, or -1 when the buffer ends before the markup does
|
|
306
|
+
*/
|
|
307
|
+
private markupEnd;
|
|
308
|
+
/**
|
|
309
|
+
* Read the CDATA section at `pos` into the text.
|
|
310
|
+
* @param pos - the index of the `<`
|
|
311
|
+
* @returns the index after the section, or -1 when the buffer ends before the section does
|
|
312
|
+
*/
|
|
313
|
+
private cdataEnd;
|
|
314
|
+
/**
|
|
315
|
+
* Read the `<!...>` markup at `pos`: a comment, a CDATA section or the DOCTYPE.
|
|
316
|
+
* @param pos - the index of the `<`
|
|
317
|
+
* @returns the index after the markup, or -1 when the buffer ends before the markup does
|
|
318
|
+
*/
|
|
319
|
+
private declarationEnd;
|
|
320
|
+
/**
|
|
321
|
+
* Check a processing instruction `<?target ...?>` (skipped otherwise): its target must be a
|
|
322
|
+
* name, and the reserved target `xml` is the XML declaration, allowed only at the very start
|
|
323
|
+
* of the document with a 1.x version.
|
|
324
|
+
* @param pos - the index of the `<`
|
|
325
|
+
* @param end - the index of the `?>`
|
|
326
|
+
*/
|
|
327
|
+
private processingInstruction;
|
|
328
|
+
/**
|
|
329
|
+
* The line of a buffer position after `start`, the position the current line count refers to.
|
|
330
|
+
* Used on the error path only.
|
|
331
|
+
* @param start - a position on line `this.line`
|
|
332
|
+
* @param at - the position
|
|
333
|
+
* @returns its line
|
|
334
|
+
*/
|
|
335
|
+
private lineIn;
|
|
336
|
+
/**
|
|
337
|
+
* Decode the entities of a text, naming XML 1.1 when a character reference XML 1.0 forbids
|
|
338
|
+
* appears in a document that declares version 1.1.
|
|
339
|
+
* @param raw - the text as written
|
|
340
|
+
* @param line - the line the text starts on
|
|
341
|
+
* @returns the decoded text
|
|
342
|
+
*/
|
|
343
|
+
private decode;
|
|
236
344
|
/**
|
|
237
345
|
* Parse a start tag at `pos`.
|
|
238
346
|
* @param pos - the index of the `<`
|
|
@@ -275,8 +383,16 @@ export declare class XmlTokenizer {
|
|
|
275
383
|
* Open an element.
|
|
276
384
|
* @param name - the element name
|
|
277
385
|
* @param attrs - its attributes
|
|
386
|
+
* @param declaresNamespace - whether an attribute name starts with `xmlns`
|
|
278
387
|
*/
|
|
279
388
|
private startElement;
|
|
389
|
+
/**
|
|
390
|
+
* The namespace an element name is in (Namespaces in XML 1.0 section 6).
|
|
391
|
+
* @param name - the element name as written
|
|
392
|
+
* @returns the URI; "" for no namespace; null for an undeclared prefix or a name that is not
|
|
393
|
+
* namespace-well-formed
|
|
394
|
+
*/
|
|
395
|
+
private namespaceOf;
|
|
280
396
|
/**
|
|
281
397
|
* Close an element, checking that it matches the innermost open one.
|
|
282
398
|
* @param name - the element name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../../src/common/xml.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../../src/common/xml.ts"],"names":[],"mappings":"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"}
|