@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/common/format.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/common/format.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAc/C;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAY,GAAG,MAAM,CAUxG;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAY,GAAG,MAAM,CAcxG;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,CAE/F"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* The shortest decimal text that reads back to the same f32 value through Math.fround.
|
|
10
10
|
* @param value - an f32 value (a JS number holding one)
|
|
11
11
|
* @returns the text; "Infinity" / "-Infinity" / "NaN" for the non-finite values, "-0" for negative zero
|
|
12
|
+
* @category Plugin helpers
|
|
12
13
|
*/
|
|
13
14
|
export function formatF32(value) {
|
|
14
15
|
if (!Number.isFinite(value)) {
|
|
@@ -25,19 +26,39 @@ export function formatF32(value) {
|
|
|
25
26
|
}
|
|
26
27
|
return String(value);
|
|
27
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Whether a number read from a file keeps its decimal value in an f32 column: the shortest decimal
|
|
31
|
+
* of its f32 rounding reads back as the same number (0.2 does; 123456789.123 and 0.123456789 do not).
|
|
32
|
+
* @param value - a finite number
|
|
33
|
+
* @returns true when nothing a reader would see is lost
|
|
34
|
+
* @category Plugin helpers
|
|
35
|
+
*/
|
|
36
|
+
export function survivesF32(value) {
|
|
37
|
+
return Number(formatF32(Math.fround(value))) === value;
|
|
38
|
+
}
|
|
28
39
|
/**
|
|
29
40
|
* The shortest text of an f64 value: `String(x)`, which is already the shortest round-tripping
|
|
30
41
|
* decimal in JS, except for negative zero, which `String()` writes as "0".
|
|
31
42
|
* @param value - the value
|
|
32
43
|
* @returns the text; "Infinity" / "-Infinity" / "NaN" for the non-finite values, "-0" for negative zero
|
|
44
|
+
* @category Plugin helpers
|
|
33
45
|
*/
|
|
34
46
|
export function formatF64(value) {
|
|
35
47
|
return Object.is(value, -0) ? "-0" : String(value);
|
|
36
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* The text of a node id for the text formats that write ids bare (DOT, Pajek, XGMML): the string
|
|
51
|
+
* itself, or the shortest decimal of a number (formatF64).
|
|
52
|
+
* @param id - the id
|
|
53
|
+
* @returns the text
|
|
54
|
+
*/
|
|
55
|
+
export function idText(id) {
|
|
56
|
+
return typeof id === "number" ? formatF64(id) : id;
|
|
57
|
+
}
|
|
37
58
|
/**
|
|
38
59
|
* A decimal text with a decimal point or an exponent guaranteed for a finite value (`2.0`,
|
|
39
60
|
* `1e+21`, `1.5e-7`), so an
|
|
40
|
-
* untyped re-import keeps the column f64 rather than i32
|
|
61
|
+
* untyped re-import keeps the column f64 rather than i32; negative zero is
|
|
41
62
|
* written `-0.0` so it reads back as -0; non-finite values are the JS spellings (`Infinity`,
|
|
42
63
|
* `-Infinity`, `NaN`), which the CSV / DOT / Pajek importers read back as text. The one
|
|
43
64
|
* implementation of the "decimal point guaranteed" rule for every text format; GML has its own
|
|
@@ -45,6 +66,7 @@ export function formatF64(value) {
|
|
|
45
66
|
* @param value - the value
|
|
46
67
|
* @param dtype - the column dtype the value comes from; f32 values use the shortest fround-round-trip text
|
|
47
68
|
* @returns the text
|
|
69
|
+
* @category Plugin helpers
|
|
48
70
|
*/
|
|
49
71
|
export function formatDecimal(value, dtype = "f64") {
|
|
50
72
|
if (!Number.isFinite(value)) {
|
|
@@ -65,6 +87,7 @@ export function formatDecimal(value, dtype = "f64") {
|
|
|
65
87
|
* @param value - the value
|
|
66
88
|
* @param dtype - the column dtype the value comes from; f32 values use the shortest fround-round-trip text
|
|
67
89
|
* @returns the text
|
|
90
|
+
* @category Plugin helpers
|
|
68
91
|
*/
|
|
69
92
|
export function formatGmlReal(value, dtype = "f64") {
|
|
70
93
|
if (Number.isNaN(value)) {
|
|
@@ -86,6 +109,7 @@ export function formatGmlReal(value, dtype = "f64") {
|
|
|
86
109
|
* integer), avoiding the exponent form `String()` uses above 1e21.
|
|
87
110
|
* @param value - an integral value
|
|
88
111
|
* @returns the digits
|
|
112
|
+
* @category Plugin helpers
|
|
89
113
|
*/
|
|
90
114
|
export function formatInteger(value) {
|
|
91
115
|
if (Number.isSafeInteger(value) || !Number.isFinite(value)) {
|
|
@@ -99,6 +123,7 @@ export function formatInteger(value) {
|
|
|
99
123
|
* @param value - the value
|
|
100
124
|
* @param dtype - the column dtype the value came from
|
|
101
125
|
* @returns the text
|
|
126
|
+
* @category Plugin helpers
|
|
102
127
|
*/
|
|
103
128
|
export function formatNumber(value, dtype) {
|
|
104
129
|
return dtype === "f32" ? formatF32(value) : formatF64(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/common/format.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/common/format.ts"],"names":[],"mappings":"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"}
|
package/dist/src/common/ids.d.ts
CHANGED
|
@@ -21,12 +21,14 @@ export { ID_MERGED_CODE };
|
|
|
21
21
|
* The "canonical" rule on one text cell.
|
|
22
22
|
* @param text - the cell text, exactly as read
|
|
23
23
|
* @returns the number for canonical safe-integer text (never for "-0"), the text itself otherwise
|
|
24
|
+
* @category Plugin helpers
|
|
24
25
|
*/
|
|
25
26
|
export declare function canonicalId(text: string): NodeId;
|
|
26
27
|
/**
|
|
27
28
|
* Whether a text cell is canonical integer text under the "canonical" rule (a number after import).
|
|
28
29
|
* @param text - the cell text
|
|
29
30
|
* @returns true when canonicalId(text) returns a number
|
|
31
|
+
* @category Plugin helpers
|
|
30
32
|
*/
|
|
31
33
|
export declare function isCanonicalIntegerText(text: string): boolean;
|
|
32
34
|
/**
|
|
@@ -34,6 +36,7 @@ export declare function isCanonicalIntegerText(text: string): boolean;
|
|
|
34
36
|
* @param text - the cell text, exactly as read
|
|
35
37
|
* @param mode - the coercion rule
|
|
36
38
|
* @returns the id; E_INVALID_ID when the rule rejects the text
|
|
39
|
+
* @category Plugin helpers
|
|
37
40
|
*/
|
|
38
41
|
export declare function coerceIdText(text: string, mode: IdCoercion): NodeId;
|
|
39
42
|
/**
|
|
@@ -41,12 +44,13 @@ export declare function coerceIdText(text: string, mode: IdCoercion): NodeId;
|
|
|
41
44
|
* @param value - the value
|
|
42
45
|
* @param mode - the coercion rule
|
|
43
46
|
* @returns the id; E_INVALID_ID when the rule rejects the value
|
|
47
|
+
* @category Plugin helpers
|
|
44
48
|
*/
|
|
45
49
|
export declare function coerceId(value: unknown, mode: IdCoercion): NodeId;
|
|
46
50
|
/**
|
|
47
51
|
* A stateful coercer for one import call: applies the rule and, under "number", detects merges
|
|
48
|
-
* (two distinct texts mapping to one number) so the importer can report them as coercion issues
|
|
49
|
-
*
|
|
52
|
+
* (two distinct texts mapping to one number) so the importer can report them as coercion issues.
|
|
53
|
+
* @category Writing a format
|
|
50
54
|
*/
|
|
51
55
|
export declare class IdCoercer {
|
|
52
56
|
/** The rule. */
|
|
@@ -57,8 +61,11 @@ export declare class IdCoercer {
|
|
|
57
61
|
private readonly firstText;
|
|
58
62
|
/** The merge detected by the most recent text() call, or null. */
|
|
59
63
|
lastMerge: {
|
|
64
|
+
/** The number both texts became. */
|
|
60
65
|
readonly id: number;
|
|
66
|
+
/** The text just read. */
|
|
61
67
|
readonly text: string;
|
|
68
|
+
/** The first text that became the same number. */
|
|
62
69
|
readonly previousText: string;
|
|
63
70
|
} | null;
|
|
64
71
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../../src/common/ids.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAoB,KAAK,UAAU,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI5C,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B
|
|
1
|
+
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../../src/common/ids.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAoB,KAAK,UAAU,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI5C,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAsBnE;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAcjE;AAgBD;;;;GAIG;AACH,qBAAa,SAAS;IAClB,gBAAgB;IAChB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAE1B,6DAA6D;IAC7D,UAAU,SAAK;IAEf,8EAA8E;IAC9E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IAEvD,kEAAkE;IAClE,SAAS,EAAE;QACP,oCAAoC;QACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,0BAA0B;QAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,kDAAkD;QAClD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;KACjC,GAAG,IAAI,CAAQ;IAEhB;;;OAGG;gBACS,IAAI,EAAE,UAAU;IAK5B;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAe1B;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;CAOhC"}
|
package/dist/src/common/ids.js
CHANGED
|
@@ -22,6 +22,7 @@ export { ID_MERGED_CODE };
|
|
|
22
22
|
* The "canonical" rule on one text cell.
|
|
23
23
|
* @param text - the cell text, exactly as read
|
|
24
24
|
* @returns the number for canonical safe-integer text (never for "-0"), the text itself otherwise
|
|
25
|
+
* @category Plugin helpers
|
|
25
26
|
*/
|
|
26
27
|
export function canonicalId(text) {
|
|
27
28
|
if (text !== "-0" && CANONICAL_INTEGER.test(text)) {
|
|
@@ -36,6 +37,7 @@ export function canonicalId(text) {
|
|
|
36
37
|
* Whether a text cell is canonical integer text under the "canonical" rule (a number after import).
|
|
37
38
|
* @param text - the cell text
|
|
38
39
|
* @returns true when canonicalId(text) returns a number
|
|
40
|
+
* @category Plugin helpers
|
|
39
41
|
*/
|
|
40
42
|
export function isCanonicalIntegerText(text) {
|
|
41
43
|
return typeof canonicalId(text) === "number";
|
|
@@ -45,6 +47,7 @@ export function isCanonicalIntegerText(text) {
|
|
|
45
47
|
* @param text - the cell text, exactly as read
|
|
46
48
|
* @param mode - the coercion rule
|
|
47
49
|
* @returns the id; E_INVALID_ID when the rule rejects the text
|
|
50
|
+
* @category Plugin helpers
|
|
48
51
|
*/
|
|
49
52
|
export function coerceIdText(text, mode) {
|
|
50
53
|
switch (mode) {
|
|
@@ -74,6 +77,7 @@ export function coerceIdText(text, mode) {
|
|
|
74
77
|
* @param value - the value
|
|
75
78
|
* @param mode - the coercion rule
|
|
76
79
|
* @returns the id; E_INVALID_ID when the rule rejects the value
|
|
80
|
+
* @category Plugin helpers
|
|
77
81
|
*/
|
|
78
82
|
export function coerceId(value, mode) {
|
|
79
83
|
if (typeof value === "string") {
|
|
@@ -105,8 +109,8 @@ function invalidId(value, reason) {
|
|
|
105
109
|
}
|
|
106
110
|
/**
|
|
107
111
|
* A stateful coercer for one import call: applies the rule and, under "number", detects merges
|
|
108
|
-
* (two distinct texts mapping to one number) so the importer can report them as coercion issues
|
|
109
|
-
*
|
|
112
|
+
* (two distinct texts mapping to one number) so the importer can report them as coercion issues.
|
|
113
|
+
* @category Writing a format
|
|
110
114
|
*/
|
|
111
115
|
export class IdCoercer {
|
|
112
116
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../../src/common/ids.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,gBAAgB,EAAgC,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B
|
|
1
|
+
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../../src/common/ids.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,gBAAgB,EAAgC,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACpC,IAAI,IAAI,KAAK,IAAI,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,CAAC;QACb,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IAC/C,OAAO,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC;AACjD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,IAAgB;IACvD,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ;YACT,OAAO,IAAI,CAAC;QAChB,KAAK,WAAW;YACZ,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,KAAK,QAAQ,CAAC,CAAC,CAAC;YACZ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,SAAS,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtB,MAAM,SAAS,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,CAAC,CAAC;QACb,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACN,MAAM,IAAI,GAAW,IAAI,CAAC;YAC1B,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,uBAAuB,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/G,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc,EAAE,IAAgB;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,SAAS,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACrD,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;QACnG,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,SAAS,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,6BAA6B,IAAI,GAAG,CAAC,CAAC;AAC5G,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,KAAc,EAAE,MAAc;IAC7C,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;IAC5F,OAAO,IAAI,gBAAgB,CAAC,cAAc,EAAE,mBAAmB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,MAAM,EAAE,EAAE;QAC/F,MAAM;QACN,KAAK,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK;KAC9D,CAAC,CAAC;AACP,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,SAAS;IAoBlB;;;OAGG;IACH,YAAY,IAAgB;QApB5B,6DAA6D;QAC7D,eAAU,GAAG,CAAC,CAAC;QAKf,kEAAkE;QAClE,cAAS,GAOE,IAAI,CAAC;QAOZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,IAAY;QACb,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACjC,CAAC;iBAAM,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;YAC1D,CAAC;QACL,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAc;QAChB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;CACJ"}
|
|
@@ -4,15 +4,23 @@
|
|
|
4
4
|
* text chunks, as lines, or as one string, with BOM handling, cancellation through an AbortSignal
|
|
5
5
|
* and byte progress.
|
|
6
6
|
*
|
|
7
|
-
* Bytes are decoded ONCE, here, for every importer. The encoding is, in order of precedence:
|
|
8
|
-
*
|
|
9
|
-
* declares (the importer's `declaredEncoding` reader: the
|
|
10
|
-
* `charset` attribute for DOT); else UTF-8.
|
|
7
|
+
* Bytes are decoded ONCE, here, for every importer. The encoding is, in order of precedence: a
|
|
8
|
+
* byte order mark (UTF-8, UTF-16LE, UTF-16BE; a UTF-32 one is E_INVALID_ENCODING); the caller's
|
|
9
|
+
* `encoding` option; the encoding the file declares (the importer's `declaredEncoding` reader: the
|
|
10
|
+
* XML prolog for GEXF and GraphML, the `charset` attribute for DOT); else UTF-8. Whenever two of
|
|
11
|
+
* them disagree the one that applies is named in a W_ENCODING_CONFLICT warning. BOM-less UTF-16
|
|
12
|
+
* (every other byte 0) is E_INVALID_ENCODING asking for the option, and a known non-graph file (an
|
|
13
|
+
* HTML page, a PDF, gzip or zip data, a PNG) is E_FOREIGN_FORMAT. Decoding is strict (`fatal: true`): an invalid sequence
|
|
11
14
|
* is never a silent U+FFFD that could alias two ids. Only in the last case, when bytes that are not
|
|
12
15
|
* valid UTF-8 appear while everything before them was ASCII, is the rest of the input read as
|
|
13
16
|
* windows-1252 (the superset of ISO 8859-1 that Excel, Pajek and older tools write), with the
|
|
14
|
-
* warning W_ENCODING_FALLBACK; invalid UTF-8 after valid non-ASCII UTF-8
|
|
15
|
-
*
|
|
17
|
+
* warning W_ENCODING_FALLBACK; invalid UTF-8 after valid non-ASCII UTF-8, in data holding control
|
|
18
|
+
* bytes (binary data), or cut at the end of the input is E_INVALID_UTF8.
|
|
19
|
+
*
|
|
20
|
+
* The decoded text, whatever the input shape, is then checked once: leading U+FEFFs are stripped, a
|
|
21
|
+
* trailing Ctrl-Z (the DOS end-of-file marker) is dropped, the first control character or stray
|
|
22
|
+
* U+FEFF is reported W_CONTROL_CHARACTER, and a text that is empty or only whitespace is the fatal
|
|
23
|
+
* E_EMPTY_INPUT.
|
|
16
24
|
*/
|
|
17
25
|
import { type ImportInput } from "../types.js";
|
|
18
26
|
import { INVALID_UTF8_CODE } from "./codes.js";
|
|
@@ -20,8 +28,8 @@ import { type ImportReportBuilder } from "./report.js";
|
|
|
20
28
|
export { INVALID_UTF8_CODE };
|
|
21
29
|
/**
|
|
22
30
|
* Cancellation and progress hooks of the reader; the resolved importer options satisfy this shape.
|
|
23
|
-
* Consumed by the per-format importers and exporters under src/formats.
|
|
24
31
|
* @public
|
|
32
|
+
* @category Plugin helpers
|
|
25
33
|
*/
|
|
26
34
|
export interface ReadOptions {
|
|
27
35
|
/** The cancellation signal, or null / undefined for none. */
|
|
@@ -35,33 +43,81 @@ export interface ReadOptions {
|
|
|
35
43
|
* windows-1252 (ASCII-compatible), the encoding label it declares, or null.
|
|
36
44
|
*/
|
|
37
45
|
readonly declaredEncoding?: ((head: string) => string | null) | undefined;
|
|
46
|
+
/** How many leading bytes the declaration reader sees (default 1024). */
|
|
47
|
+
readonly declarationBytes?: number | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Whether BOM-less UTF-16 that the NUL pattern of its head shows is read in that encoding (JSON:
|
|
50
|
+
* RFC 8259 section 8.1, RFC 4627 section 3) instead of failing with E_INVALID_ENCODING.
|
|
51
|
+
*/
|
|
52
|
+
readonly bomlessUtf16?: boolean | undefined;
|
|
53
|
+
/** Whether an input with no text but whitespace is valid (else E_EMPTY_INPUT). */
|
|
54
|
+
readonly allowEmpty?: boolean | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* Whether the format is XML: an (X)HTML document is then left to the format's own root-element
|
|
57
|
+
* check (an XHTML page may embed the format's elements) instead of being E_FOREIGN_FORMAT.
|
|
58
|
+
*/
|
|
59
|
+
readonly xml?: boolean | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Whether a NUL byte in undeclared input fails the import as binary data (or BOM-less UTF-16)
|
|
62
|
+
* even where the bytes are valid UTF-8: for formats whose grammar never reports a NUL itself
|
|
63
|
+
* (CSV). False by default, so a format's own syntax error names it.
|
|
64
|
+
*/
|
|
65
|
+
readonly nulIsBinary?: boolean | undefined;
|
|
38
66
|
}
|
|
39
67
|
/**
|
|
40
68
|
* The canonical name of an encoding label, or null when the platform's TextDecoder does not know it.
|
|
41
69
|
* @param label - a WHATWG encoding label ("latin1", "UTF-16LE", "cp1252", ...)
|
|
42
70
|
* @returns the canonical name ("windows-1252", "utf-16le", ...) or null
|
|
71
|
+
* @category Plugin helpers
|
|
43
72
|
*/
|
|
44
73
|
export declare function canonicalEncoding(label: string): string | null;
|
|
45
74
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
75
|
+
* What a head is when it is a known file type that is no graph format: compressed or archived data,
|
|
76
|
+
* an image, a PDF, an HTML page. Graph formats are text (or, for a Cytoscape session, a zip the
|
|
77
|
+
* registry hands to its own importer), so such an input is never read as text.
|
|
78
|
+
* @param head - the first bytes or characters of the input
|
|
79
|
+
* @returns a description such as "gzip-compressed data (decompress it first)", or null
|
|
80
|
+
* @category Plugin helpers
|
|
81
|
+
*/
|
|
82
|
+
export declare function foreignKind(head: Uint8Array | string): string | null;
|
|
83
|
+
/**
|
|
84
|
+
* A zip entry name as text (APPNOTE 4.4.17 and appendix D): UTF-8 when the bytes are valid UTF-8,
|
|
85
|
+
* whether or not the entry sets the language-encoding flag (bit 11); otherwise code page 437 when
|
|
86
|
+
* the flag is clear (what Windows and older tools write), and windows-1252 when the entry claims
|
|
87
|
+
* UTF-8 (or no flags are known). Never throws: a name is a matching key, never a path, so an
|
|
88
|
+
* undecodable one still has to name its entry.
|
|
50
89
|
* @param bytes - the name bytes from the central directory or a local header
|
|
90
|
+
* @param cp437 - the entry's bit 11 is clear: decode a non-UTF-8 name as code page 437
|
|
51
91
|
* @returns the name
|
|
92
|
+
* @category Plugin helpers
|
|
93
|
+
*/
|
|
94
|
+
export declare function decodeEntryName(bytes: Uint8Array, cp437?: boolean): string;
|
|
95
|
+
/**
|
|
96
|
+
* The longest string V8 makes (2^29 - 24 UTF-16 code units); longer text cannot be one string.
|
|
97
|
+
* @category Plugin helpers
|
|
52
98
|
*/
|
|
53
|
-
export declare
|
|
99
|
+
export declare const MAX_TEXT_LENGTH: number;
|
|
54
100
|
/**
|
|
55
101
|
* Whether a value is an ImportInput this module can read.
|
|
56
102
|
* @param input - any value
|
|
57
103
|
* @returns true for a string, a Uint8Array, a ReadableStream or an async iterable
|
|
104
|
+
* @category Plugin helpers
|
|
58
105
|
*/
|
|
59
106
|
export declare function isImportInput(input: unknown): input is ImportInput;
|
|
107
|
+
/**
|
|
108
|
+
* The input as one of the ImportInput shapes, or E_UNSUPPORTED naming what was passed and how to
|
|
109
|
+
* pass it instead (an ArrayBuffer, a Blob, a fetch Response, null from a failed read).
|
|
110
|
+
* @param input - what the caller passed
|
|
111
|
+
* @returns the input (a Uint8Array from another realm re-viewed in this one)
|
|
112
|
+
* @category Plugin helpers
|
|
113
|
+
*/
|
|
114
|
+
export declare function normalizeInput(input: unknown): ImportInput;
|
|
60
115
|
/**
|
|
61
116
|
* The total size of an in-memory input (bytes for a Uint8Array, UTF-16 code units for a string),
|
|
62
|
-
*
|
|
117
|
+
* null for a stream or an iterable.
|
|
63
118
|
* @param input - the input
|
|
64
119
|
* @returns the size, or null when unknown up front
|
|
120
|
+
* @category Plugin helpers
|
|
65
121
|
*/
|
|
66
122
|
export declare function inputLength(input: ImportInput): number | null;
|
|
67
123
|
/**
|
|
@@ -69,46 +125,79 @@ export declare function inputLength(input: ImportInput): number | null;
|
|
|
69
125
|
* `AbortSignal.throwIfAborted()` does: the reason as it is (the DOMException named "AbortError"
|
|
70
126
|
* of a reason-less abort, or whatever the caller passed to `abort(reason)`, an Error or not), so a
|
|
71
127
|
* caller can compare the rejection with `signal.reason`. Only a runtime that stores no reason at
|
|
72
|
-
* all gets a
|
|
128
|
+
* all gets a synthesized AbortError.
|
|
73
129
|
* @param signal - the signal, or null
|
|
130
|
+
* @category Writing a format
|
|
74
131
|
*/
|
|
75
132
|
export declare function throwIfAborted(signal: AbortSignal | null | undefined): void;
|
|
133
|
+
/**
|
|
134
|
+
* A promise that also settles when the signal fires, rejecting with its reason: a read that stalls
|
|
135
|
+
* (a network body that never delivers) cannot keep an aborted import pending. The caller checks
|
|
136
|
+
* the signal before calling.
|
|
137
|
+
* @param promise - the pending operation
|
|
138
|
+
* @param signal - the cancellation signal, or null
|
|
139
|
+
* @returns the operation's result, or the abort reason as a rejection
|
|
140
|
+
* @category Plugin helpers
|
|
141
|
+
*/
|
|
142
|
+
export declare function abortable<T>(promise: Promise<T>, signal: AbortSignal | null): Promise<T>;
|
|
143
|
+
/**
|
|
144
|
+
* A reader of a stream, or E_UNSUPPORTED when another reader holds the stream already.
|
|
145
|
+
* @param stream - the stream
|
|
146
|
+
* @returns the reader
|
|
147
|
+
* @category Plugin helpers
|
|
148
|
+
*/
|
|
149
|
+
export declare function lockReader(stream: ReadableStream<Uint8Array>): ReadableStreamDefaultReader<Uint8Array>;
|
|
76
150
|
/**
|
|
77
151
|
* Read an ImportInput as a sequence of decoded text chunks. Chunk boundaries carry no meaning:
|
|
78
152
|
* a caller that needs lines uses LineReader, one that needs the whole document uses readText().
|
|
79
|
-
* The signal is checked before every chunk
|
|
80
|
-
* or the signal fires. Progress is reported after every
|
|
81
|
-
*
|
|
82
|
-
* @param
|
|
83
|
-
* @param
|
|
84
|
-
*
|
|
153
|
+
* The signal is checked before every chunk and while a stream read is pending; a stream is
|
|
154
|
+
* canceled when the consumer stops early or the signal fires. Progress is reported after every
|
|
155
|
+
* chunk, in bytes (text counted as UTF-8).
|
|
156
|
+
* @param rawInput - the input
|
|
157
|
+
* @param report - the report decode errors and the text checks are recorded in (E_INVALID_UTF8,
|
|
158
|
+
* E_EMPTY_INPUT, ... then ImportError)
|
|
159
|
+
* @param options - cancellation, progress and the encoding
|
|
160
|
+
* @yields decoded text; leading BOMs and a trailing Ctrl-Z removed
|
|
85
161
|
* @returns nothing
|
|
162
|
+
* @category Writing a format
|
|
86
163
|
*/
|
|
87
|
-
export declare function textChunks(
|
|
164
|
+
export declare function textChunks(rawInput: ImportInput, report: ImportReportBuilder, options?: ReadOptions): AsyncGenerator<string, void, undefined>;
|
|
88
165
|
/**
|
|
89
166
|
* Read the whole input as bytes, for a binary format (a zip): nothing is decoded. The signal is
|
|
90
|
-
* checked before every chunk and progress reported after it; a stream is
|
|
167
|
+
* checked before every chunk and progress reported after it; a stream is canceled when the read
|
|
91
168
|
* stops early.
|
|
92
|
-
* @param
|
|
169
|
+
* @param rawInput - the input
|
|
93
170
|
* @param options - cancellation and progress (the encoding is ignored)
|
|
94
171
|
* @returns the bytes, or null when the input is text (a string, or a chunk that is a string),
|
|
95
172
|
* which a binary format cannot read
|
|
96
173
|
*/
|
|
97
|
-
export declare function readBytes(
|
|
174
|
+
export declare function readBytes(rawInput: ImportInput, options?: ReadOptions): Promise<Uint8Array | null>;
|
|
98
175
|
/**
|
|
99
|
-
*
|
|
100
|
-
* @param
|
|
176
|
+
* Fail an import whose text is longer than one JavaScript string can hold.
|
|
177
|
+
* @param report - the report
|
|
178
|
+
* @param message - what is too long
|
|
179
|
+
* @param line - the line, when known
|
|
180
|
+
* @category Plugin helpers
|
|
181
|
+
*/
|
|
182
|
+
export declare function tooLarge(report: ImportReportBuilder, message: string, line?: number): never;
|
|
183
|
+
/**
|
|
184
|
+
* Read the whole input as one string (what the GML, DOT and JSON importers do), failing with
|
|
185
|
+
* E_TOO_LARGE (category unsupported) before the join when it is longer than one JavaScript string
|
|
186
|
+
* can hold. A string input is used as it is (one progress call), after the same text checks.
|
|
187
|
+
* @param rawInput - the input
|
|
101
188
|
* @param report - the report the decode error is recorded in
|
|
102
189
|
* @param options - cancellation and progress
|
|
103
|
-
* @returns the decoded text without a leading BOM
|
|
190
|
+
* @returns the decoded text without a leading BOM or a trailing Ctrl-Z
|
|
191
|
+
* @category Writing a format
|
|
104
192
|
*/
|
|
105
|
-
export declare function readText(
|
|
193
|
+
export declare function readText(rawInput: ImportInput, report: ImportReportBuilder, options?: ReadOptions): Promise<string>;
|
|
106
194
|
/**
|
|
107
195
|
* Lines of an ImportInput without allocating anything per line but the string itself: iterate with
|
|
108
196
|
* `for await (const text of reader)` and read `reader.line` (1-based) for the line just yielded.
|
|
109
197
|
* `\n`, `\r\n` and lone `\r` all end a line; the terminator is not part of the text; a final
|
|
110
198
|
* line without a terminator is yielded when non-empty, and every line in between is yielded even
|
|
111
199
|
* when empty (the importer decides what a blank line means).
|
|
200
|
+
* @category Writing a format
|
|
112
201
|
*/
|
|
113
202
|
export declare class LineReader implements AsyncIterable<string> {
|
|
114
203
|
private readonly input;
|
|
@@ -127,6 +216,11 @@ export declare class LineReader implements AsyncIterable<string> {
|
|
|
127
216
|
* @returns the line number; 0 before the first line
|
|
128
217
|
*/
|
|
129
218
|
get line(): number;
|
|
219
|
+
/**
|
|
220
|
+
* The E_TOO_LARGE message of a line longer than one string.
|
|
221
|
+
* @returns the message
|
|
222
|
+
*/
|
|
223
|
+
private lineTooLong;
|
|
130
224
|
/**
|
|
131
225
|
* Iterate the lines.
|
|
132
226
|
* @yields one line at a time, terminator removed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/common/input.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/common/input.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAOH,iBAAiB,EAIpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;;GAIG;AACH,MAAM,WAAW,WAAW;IACxB,6DAA6D;IAC7D,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACjD,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5F,qGAAqG;IACrG,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1E,yEAAyE;IACzE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5C,kFAAkF;IAClF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9C;AAQD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM9D;AA8ED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAuBpE;AAglBD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,UAAQ,GAAG,MAAM,CAaxE;AAiCD;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAe,CAAC;AAU5C;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAQlE;AAiBD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAqC1D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAQ7D;AA0BD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAU3E;AAgBD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAwBxF;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAStG;AAyID;;;;;;;;;;;;;GAaG;AACH,wBAAuB,UAAU,CAC7B,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,mBAAmB,EAC3B,OAAO,GAAE,WAAgB,GAC1B,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CA+HzC;AA6CD;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA+B5G;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAE3F;AAED;;;;;;;;;GASG;AACH,wBAAsB,QAAQ,CAC1B,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,mBAAmB,EAC3B,OAAO,GAAE,WAAgB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA2BjB;AAED;;;;;;;GAOG;AACH,qBAAa,UAAW,YAAW,aAAa,CAAC,MAAM,CAAC;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IAEpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAE7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IAEtC,OAAO,CAAC,UAAU,CAAK;IAEvB;;;;;OAKG;gBACS,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,GAAE,WAAgB;IAMtF;;;OAGG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;OAGG;IACH,OAAO,CAAC,WAAW;IAInB;;;;OAIG;IACI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;CA8E3E"}
|