@graphty/graph-io 0.0.0 → 0.2.1
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/LICENSE +21 -0
- package/README.md +250 -28
- package/dist/chunks/children-CL3Cy0ez.js +238 -0
- package/dist/chunks/children-CL3Cy0ez.js.map +1 -0
- package/dist/chunks/escape-DyI8JofU.js +938 -0
- package/dist/chunks/escape-DyI8JofU.js.map +1 -0
- package/dist/chunks/importer-CQnJuWJw.js +2987 -0
- package/dist/chunks/importer-CQnJuWJw.js.map +1 -0
- package/dist/chunks/importer-CpCpfbxr.js +2015 -0
- package/dist/chunks/importer-CpCpfbxr.js.map +1 -0
- package/dist/chunks/importer-DbnGYr3_.js +2342 -0
- package/dist/chunks/importer-DbnGYr3_.js.map +1 -0
- package/dist/chunks/importer-GozH8DkN.js +3050 -0
- package/dist/chunks/importer-GozH8DkN.js.map +1 -0
- package/dist/chunks/records-CGpxszm1.js +605 -0
- package/dist/chunks/records-CGpxszm1.js.map +1 -0
- package/dist/chunks/text-CajMdVFy.js +189 -0
- package/dist/chunks/text-CajMdVFy.js.map +1 -0
- package/dist/chunks/writer-DxSKC7TL.js +2842 -0
- package/dist/chunks/writer-DxSKC7TL.js.map +1 -0
- package/dist/csv.d.ts +1 -0
- package/dist/csv.js +1702 -0
- package/dist/csv.js.map +1 -0
- package/dist/dot.d.ts +1 -0
- package/dist/dot.js +8 -0
- package/dist/dot.js.map +1 -0
- package/dist/gexf.d.ts +1 -0
- package/dist/gexf.js +3466 -0
- package/dist/gexf.js.map +1 -0
- package/dist/gml.d.ts +1 -0
- package/dist/gml.js +2647 -0
- package/dist/gml.js.map +1 -0
- package/dist/graph-io.d.ts +1 -0
- package/dist/graph-io.js +790 -0
- package/dist/graph-io.js.map +1 -0
- package/dist/graphml.d.ts +1 -0
- package/dist/graphml.js +8 -0
- package/dist/graphml.js.map +1 -0
- package/dist/json.d.ts +1 -0
- package/dist/json.js +11 -0
- package/dist/json.js.map +1 -0
- package/dist/neo4j.d.ts +1 -0
- package/dist/neo4j.js +2046 -0
- package/dist/neo4j.js.map +1 -0
- package/dist/pajek.d.ts +1 -0
- package/dist/pajek.js +8 -0
- package/dist/pajek.js.map +1 -0
- package/dist/src/children.d.ts +134 -0
- package/dist/src/children.d.ts.map +1 -0
- package/dist/src/children.js +274 -0
- package/dist/src/children.js.map +1 -0
- package/dist/src/common/attributes.d.ts +229 -0
- package/dist/src/common/attributes.d.ts.map +1 -0
- package/dist/src/common/attributes.js +368 -0
- package/dist/src/common/attributes.js.map +1 -0
- package/dist/src/common/codes.d.ts +105 -0
- package/dist/src/common/codes.d.ts.map +1 -0
- package/dist/src/common/codes.js +107 -0
- package/dist/src/common/codes.js.map +1 -0
- package/dist/src/common/declared-types.d.ts +84 -0
- package/dist/src/common/declared-types.d.ts.map +1 -0
- package/dist/src/common/declared-types.js +326 -0
- package/dist/src/common/declared-types.js.map +1 -0
- package/dist/src/common/direction.d.ts +206 -0
- package/dist/src/common/direction.d.ts.map +1 -0
- package/dist/src/common/direction.js +370 -0
- package/dist/src/common/direction.js.map +1 -0
- package/dist/src/common/escape.d.ts +92 -0
- package/dist/src/common/escape.d.ts.map +1 -0
- package/dist/src/common/escape.js +212 -0
- package/dist/src/common/escape.js.map +1 -0
- package/dist/src/common/export.d.ts +249 -0
- package/dist/src/common/export.d.ts.map +1 -0
- package/dist/src/common/export.js +594 -0
- package/dist/src/common/export.js.map +1 -0
- package/dist/src/common/format.d.ts +59 -0
- package/dist/src/common/format.d.ts.map +1 -0
- package/dist/src/common/format.js +106 -0
- package/dist/src/common/format.js.map +1 -0
- package/dist/src/common/ids.d.ts +83 -0
- package/dist/src/common/ids.d.ts.map +1 -0
- package/dist/src/common/ids.js +158 -0
- package/dist/src/common/ids.js.map +1 -0
- package/dist/src/common/input.d.ts +100 -0
- package/dist/src/common/input.d.ts.map +1 -0
- package/dist/src/common/input.js +335 -0
- package/dist/src/common/input.js.map +1 -0
- package/dist/src/common/lists.d.ts +34 -0
- package/dist/src/common/lists.d.ts.map +1 -0
- package/dist/src/common/lists.js +185 -0
- package/dist/src/common/lists.js.map +1 -0
- package/dist/src/common/options.d.ts +108 -0
- package/dist/src/common/options.d.ts.map +1 -0
- package/dist/src/common/options.js +265 -0
- package/dist/src/common/options.js.map +1 -0
- package/dist/src/common/report.d.ts +187 -0
- package/dist/src/common/report.d.ts.map +1 -0
- package/dist/src/common/report.js +274 -0
- package/dist/src/common/report.js.map +1 -0
- package/dist/src/common/temporal.d.ts +71 -0
- package/dist/src/common/temporal.d.ts.map +1 -0
- package/dist/src/common/temporal.js +266 -0
- package/dist/src/common/temporal.js.map +1 -0
- package/dist/src/common/text.d.ts +104 -0
- package/dist/src/common/text.d.ts.map +1 -0
- package/dist/src/common/text.js +255 -0
- package/dist/src/common/text.js.map +1 -0
- package/dist/src/common/weights.d.ts +77 -0
- package/dist/src/common/weights.d.ts.map +1 -0
- package/dist/src/common/weights.js +156 -0
- package/dist/src/common/weights.js.map +1 -0
- package/dist/src/common/writer.d.ts +51 -0
- package/dist/src/common/writer.d.ts.map +1 -0
- package/dist/src/common/writer.js +108 -0
- package/dist/src/common/writer.js.map +1 -0
- package/dist/src/common/xml.d.ts +245 -0
- package/dist/src/common/xml.d.ts.map +1 -0
- package/dist/src/common/xml.js +942 -0
- package/dist/src/common/xml.js.map +1 -0
- package/dist/src/formats/csv/exporter.d.ts +70 -0
- package/dist/src/formats/csv/exporter.d.ts.map +1 -0
- package/dist/src/formats/csv/exporter.js +682 -0
- package/dist/src/formats/csv/exporter.js.map +1 -0
- package/dist/src/formats/csv/header.d.ts +66 -0
- package/dist/src/formats/csv/header.d.ts.map +1 -0
- package/dist/src/formats/csv/header.js +152 -0
- package/dist/src/formats/csv/header.js.map +1 -0
- package/dist/src/formats/csv/importer.d.ts +82 -0
- package/dist/src/formats/csv/importer.d.ts.map +1 -0
- package/dist/src/formats/csv/importer.js +849 -0
- package/dist/src/formats/csv/importer.js.map +1 -0
- package/dist/src/formats/csv/index.d.ts +60 -0
- package/dist/src/formats/csv/index.d.ts.map +1 -0
- package/dist/src/formats/csv/index.js +63 -0
- package/dist/src/formats/csv/index.js.map +1 -0
- package/dist/src/formats/csv/records.d.ts +188 -0
- package/dist/src/formats/csv/records.d.ts.map +1 -0
- package/dist/src/formats/csv/records.js +702 -0
- package/dist/src/formats/csv/records.js.map +1 -0
- package/dist/src/formats/csv/values.d.ts +105 -0
- package/dist/src/formats/csv/values.d.ts.map +1 -0
- package/dist/src/formats/csv/values.js +192 -0
- package/dist/src/formats/csv/values.js.map +1 -0
- package/dist/src/formats/dot/exporter.d.ts +52 -0
- package/dist/src/formats/dot/exporter.d.ts.map +1 -0
- package/dist/src/formats/dot/exporter.js +836 -0
- package/dist/src/formats/dot/exporter.js.map +1 -0
- package/dist/src/formats/dot/importer.d.ts +102 -0
- package/dist/src/formats/dot/importer.d.ts.map +1 -0
- package/dist/src/formats/dot/importer.js +1291 -0
- package/dist/src/formats/dot/importer.js.map +1 -0
- package/dist/src/formats/dot/index.d.ts +7 -0
- package/dist/src/formats/dot/index.d.ts.map +1 -0
- package/dist/src/formats/dot/index.js +7 -0
- package/dist/src/formats/dot/index.js.map +1 -0
- package/dist/src/formats/dot/names.d.ts +29 -0
- package/dist/src/formats/dot/names.d.ts.map +1 -0
- package/dist/src/formats/dot/names.js +28 -0
- package/dist/src/formats/dot/names.js.map +1 -0
- package/dist/src/formats/dot/tokenizer.d.ts +114 -0
- package/dist/src/formats/dot/tokenizer.d.ts.map +1 -0
- package/dist/src/formats/dot/tokenizer.js +341 -0
- package/dist/src/formats/dot/tokenizer.js.map +1 -0
- package/dist/src/formats/gexf/exporter.d.ts +56 -0
- package/dist/src/formats/gexf/exporter.d.ts.map +1 -0
- package/dist/src/formats/gexf/exporter.js +1395 -0
- package/dist/src/formats/gexf/exporter.js.map +1 -0
- package/dist/src/formats/gexf/importer.d.ts +73 -0
- package/dist/src/formats/gexf/importer.d.ts.map +1 -0
- package/dist/src/formats/gexf/importer.js +1880 -0
- package/dist/src/formats/gexf/importer.js.map +1 -0
- package/dist/src/formats/gexf/index.d.ts +96 -0
- package/dist/src/formats/gexf/index.d.ts.map +1 -0
- package/dist/src/formats/gexf/index.js +97 -0
- package/dist/src/formats/gexf/index.js.map +1 -0
- package/dist/src/formats/gexf/schema.d.ts +135 -0
- package/dist/src/formats/gexf/schema.d.ts.map +1 -0
- package/dist/src/formats/gexf/schema.js +323 -0
- package/dist/src/formats/gexf/schema.js.map +1 -0
- package/dist/src/formats/gml/exporter.d.ts +69 -0
- package/dist/src/formats/gml/exporter.d.ts.map +1 -0
- package/dist/src/formats/gml/exporter.js +1093 -0
- package/dist/src/formats/gml/exporter.js.map +1 -0
- package/dist/src/formats/gml/importer.d.ts +66 -0
- package/dist/src/formats/gml/importer.d.ts.map +1 -0
- package/dist/src/formats/gml/importer.js +1331 -0
- package/dist/src/formats/gml/importer.js.map +1 -0
- package/dist/src/formats/gml/index.d.ts +85 -0
- package/dist/src/formats/gml/index.d.ts.map +1 -0
- package/dist/src/formats/gml/index.js +88 -0
- package/dist/src/formats/gml/index.js.map +1 -0
- package/dist/src/formats/gml/syntax.d.ts +186 -0
- package/dist/src/formats/gml/syntax.d.ts.map +1 -0
- package/dist/src/formats/gml/syntax.js +467 -0
- package/dist/src/formats/gml/syntax.js.map +1 -0
- package/dist/src/formats/graphml/constants.d.ts +169 -0
- package/dist/src/formats/graphml/constants.d.ts.map +1 -0
- package/dist/src/formats/graphml/constants.js +165 -0
- package/dist/src/formats/graphml/constants.js.map +1 -0
- package/dist/src/formats/graphml/exporter.d.ts +34 -0
- package/dist/src/formats/graphml/exporter.d.ts.map +1 -0
- package/dist/src/formats/graphml/exporter.js +1176 -0
- package/dist/src/formats/graphml/exporter.js.map +1 -0
- package/dist/src/formats/graphml/importer.d.ts +31 -0
- package/dist/src/formats/graphml/importer.d.ts.map +1 -0
- package/dist/src/formats/graphml/importer.js +1607 -0
- package/dist/src/formats/graphml/importer.js.map +1 -0
- package/dist/src/formats/graphml/index.d.ts +8 -0
- package/dist/src/formats/graphml/index.d.ts.map +1 -0
- package/dist/src/formats/graphml/index.js +8 -0
- package/dist/src/formats/graphml/index.js.map +1 -0
- package/dist/src/formats/graphml/tree.d.ts +72 -0
- package/dist/src/formats/graphml/tree.d.ts.map +1 -0
- package/dist/src/formats/graphml/tree.js +290 -0
- package/dist/src/formats/graphml/tree.js.map +1 -0
- package/dist/src/formats/json/dialect.d.ts +125 -0
- package/dist/src/formats/json/dialect.d.ts.map +1 -0
- package/dist/src/formats/json/dialect.js +262 -0
- package/dist/src/formats/json/dialect.js.map +1 -0
- package/dist/src/formats/json/exporter.d.ts +89 -0
- package/dist/src/formats/json/exporter.d.ts.map +1 -0
- package/dist/src/formats/json/exporter.js +1358 -0
- package/dist/src/formats/json/exporter.js.map +1 -0
- package/dist/src/formats/json/importer.d.ts +108 -0
- package/dist/src/formats/json/importer.d.ts.map +1 -0
- package/dist/src/formats/json/importer.js +1838 -0
- package/dist/src/formats/json/importer.js.map +1 -0
- package/dist/src/formats/json/index.d.ts +8 -0
- package/dist/src/formats/json/index.d.ts.map +1 -0
- package/dist/src/formats/json/index.js +8 -0
- package/dist/src/formats/json/index.js.map +1 -0
- package/dist/src/formats/neo4j/exporter.d.ts +68 -0
- package/dist/src/formats/neo4j/exporter.d.ts.map +1 -0
- package/dist/src/formats/neo4j/exporter.js +1055 -0
- package/dist/src/formats/neo4j/exporter.js.map +1 -0
- package/dist/src/formats/neo4j/header.d.ts +52 -0
- package/dist/src/formats/neo4j/header.d.ts.map +1 -0
- package/dist/src/formats/neo4j/header.js +131 -0
- package/dist/src/formats/neo4j/header.js.map +1 -0
- package/dist/src/formats/neo4j/importer.d.ts +73 -0
- package/dist/src/formats/neo4j/importer.d.ts.map +1 -0
- package/dist/src/formats/neo4j/importer.js +932 -0
- package/dist/src/formats/neo4j/importer.js.map +1 -0
- package/dist/src/formats/neo4j/index.d.ts +79 -0
- package/dist/src/formats/neo4j/index.d.ts.map +1 -0
- package/dist/src/formats/neo4j/index.js +83 -0
- package/dist/src/formats/neo4j/index.js.map +1 -0
- package/dist/src/formats/pajek/exporter.d.ts +58 -0
- package/dist/src/formats/pajek/exporter.d.ts.map +1 -0
- package/dist/src/formats/pajek/exporter.js +825 -0
- package/dist/src/formats/pajek/exporter.js.map +1 -0
- package/dist/src/formats/pajek/importer.d.ts +88 -0
- package/dist/src/formats/pajek/importer.d.ts.map +1 -0
- package/dist/src/formats/pajek/importer.js +1047 -0
- package/dist/src/formats/pajek/importer.js.map +1 -0
- package/dist/src/formats/pajek/index.d.ts +7 -0
- package/dist/src/formats/pajek/index.d.ts.map +1 -0
- package/dist/src/formats/pajek/index.js +7 -0
- package/dist/src/formats/pajek/index.js.map +1 -0
- package/dist/src/formats/pajek/syntax.d.ts +112 -0
- package/dist/src/formats/pajek/syntax.d.ts.map +1 -0
- package/dist/src/formats/pajek/syntax.js +269 -0
- package/dist/src/formats/pajek/syntax.js.map +1 -0
- package/dist/src/index.d.ts +35 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +39 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/registry.d.ts +207 -0
- package/dist/src/registry.d.ts.map +1 -0
- package/dist/src/registry.js +481 -0
- package/dist/src/registry.js.map +1 -0
- package/dist/src/sniff.d.ts +104 -0
- package/dist/src/sniff.d.ts.map +1 -0
- package/dist/src/sniff.js +357 -0
- package/dist/src/sniff.js.map +1 -0
- package/dist/src/types.d.ts +238 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +29 -0
- package/dist/src/types.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +122 -7
- package/src/children.ts +335 -0
- package/src/common/attributes.ts +520 -0
- package/src/common/codes.ts +153 -0
- package/src/common/declared-types.ts +374 -0
- package/src/common/direction.ts +518 -0
- package/src/common/escape.ts +231 -0
- package/src/common/export.ts +817 -0
- package/src/common/format.ts +111 -0
- package/src/common/ids.ts +176 -0
- package/src/common/input.ts +378 -0
- package/src/common/lists.ts +196 -0
- package/src/common/options.ts +377 -0
- package/src/common/report.ts +352 -0
- package/src/common/temporal.ts +302 -0
- package/src/common/text.ts +294 -0
- package/src/common/weights.ts +202 -0
- package/src/common/writer.ts +123 -0
- package/src/common/xml.ts +1053 -0
- package/src/formats/csv/exporter.ts +894 -0
- package/src/formats/csv/header.ts +172 -0
- package/src/formats/csv/importer.ts +1104 -0
- package/src/formats/csv/index.ts +88 -0
- package/src/formats/csv/records.ts +813 -0
- package/src/formats/csv/values.ts +224 -0
- package/src/formats/dot/exporter.ts +1014 -0
- package/src/formats/dot/importer.ts +1549 -0
- package/src/formats/dot/index.ts +7 -0
- package/src/formats/dot/names.ts +40 -0
- package/src/formats/dot/tokenizer.ts +384 -0
- package/src/formats/gexf/exporter.ts +1696 -0
- package/src/formats/gexf/importer.ts +2333 -0
- package/src/formats/gexf/index.ts +142 -0
- package/src/formats/gexf/schema.ts +361 -0
- package/src/formats/gml/exporter.ts +1404 -0
- package/src/formats/gml/importer.ts +1591 -0
- package/src/formats/gml/index.ts +128 -0
- package/src/formats/gml/syntax.ts +545 -0
- package/src/formats/graphml/constants.ts +225 -0
- package/src/formats/graphml/exporter.ts +1458 -0
- package/src/formats/graphml/importer.ts +2027 -0
- package/src/formats/graphml/index.ts +8 -0
- package/src/formats/graphml/tree.ts +318 -0
- package/src/formats/json/dialect.ts +317 -0
- package/src/formats/json/exporter.ts +1616 -0
- package/src/formats/json/importer.ts +2271 -0
- package/src/formats/json/index.ts +8 -0
- package/src/formats/neo4j/exporter.ts +1287 -0
- package/src/formats/neo4j/header.ts +156 -0
- package/src/formats/neo4j/importer.ts +1220 -0
- package/src/formats/neo4j/index.ts +116 -0
- package/src/formats/pajek/exporter.ts +1000 -0
- package/src/formats/pajek/importer.ts +1311 -0
- package/src/formats/pajek/index.ts +7 -0
- package/src/formats/pajek/syntax.ts +307 -0
- package/src/index.ts +244 -0
- package/src/registry.ts +617 -0
- package/src/sniff.ts +397 -0
- package/src/types.ts +262 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"importer.js","sourceRoot":"","sources":["../../../../src/formats/csv/importer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The CSV / TSV importer and exporter of @graphty/graph-io: the subpath entry `@graphty/graph-io/csv`.
|
|
3
|
+
*/
|
|
4
|
+
export { CSV_CAPABILITIES, CSV_LOSS, csvExporter, type CsvExportOptions } from "./exporter.js";
|
|
5
|
+
export { type CsvColumnRef } from "./header.js";
|
|
6
|
+
export { csvImporter, type CsvImportOptions } from "./importer.js";
|
|
7
|
+
/**
|
|
8
|
+
* The issue codes the CSV importer records (design section 8.6), by name: the codes shared with
|
|
9
|
+
* the other importers (src/common/codes.ts) and the CSV-specific ones. A key is the code without
|
|
10
|
+
* its severity and format prefixes.
|
|
11
|
+
*/
|
|
12
|
+
export declare const CSV_ISSUE: Readonly<{
|
|
13
|
+
/** The input is empty (fatal). */
|
|
14
|
+
EMPTY_INPUT: "E_EMPTY_INPUT";
|
|
15
|
+
/** The input holds invalid UTF-8 (fatal). */
|
|
16
|
+
INVALID_UTF8: "E_INVALID_UTF8";
|
|
17
|
+
/** The header names neither endpoint columns nor an id column (fatal). */
|
|
18
|
+
NO_ENDPOINT_COLUMNS: "E_CSV_NO_ENDPOINT_COLUMNS";
|
|
19
|
+
/** A node table without an id column (fatal). */
|
|
20
|
+
NO_ID_COLUMN: "E_CSV_NO_ID_COLUMN";
|
|
21
|
+
/** A row with a different field count than the header. */
|
|
22
|
+
FIELD_COUNT: "E_CSV_FIELD_COUNT";
|
|
23
|
+
/** An edge row with a blank source or target. */
|
|
24
|
+
MISSING_ENDPOINT: "E_MISSING_ENDPOINT";
|
|
25
|
+
/** A node row with a blank id. */
|
|
26
|
+
MISSING_ID: "E_MISSING_ID";
|
|
27
|
+
/** A Type cell outside Directed / Undirected / Mutual. */
|
|
28
|
+
BAD_TYPE: "E_CSV_BAD_TYPE";
|
|
29
|
+
/** An unterminated quoted field (fatal). */
|
|
30
|
+
UNCLOSED_QUOTE: "E_CSV_UNCLOSED_QUOTE";
|
|
31
|
+
/** Text after a closing quote (fatal). */
|
|
32
|
+
QUOTE: "E_CSV_QUOTE";
|
|
33
|
+
/** A header and no data rows. */
|
|
34
|
+
NO_DATA_ROWS: "W_CSV_NO_DATA_ROWS";
|
|
35
|
+
/** A node table row repeating an id. */
|
|
36
|
+
DUPLICATE_NODE: "W_DUPLICATE_NODE";
|
|
37
|
+
/** An edge row repeating an edge id (skipped). */
|
|
38
|
+
DUPLICATE_EDGE_ID: "E_DUPLICATE_EDGE_ID";
|
|
39
|
+
/** Two id cells merged into one number under ids "number". */
|
|
40
|
+
ID_MERGED: "W_ID_MERGED";
|
|
41
|
+
/** An explicitly named weight column the file does not have. */
|
|
42
|
+
COLUMN_MISSING: "W_CSV_COLUMN_MISSING";
|
|
43
|
+
/** A column whose role another column of the sink already holds. */
|
|
44
|
+
ROLE_TAKEN: "W_ROLE_TAKEN";
|
|
45
|
+
/** A column renamed `<name>#<position>` (a repeated header, or a name the sink holds with another shape). */
|
|
46
|
+
COLUMN_RENAMED: "W_COLUMN_RENAMED";
|
|
47
|
+
/** A common option the importer has no use for was given. */
|
|
48
|
+
OPTION_IGNORED: "W_OPTION_IGNORED";
|
|
49
|
+
/** A builder-policy option the sink does not honour. */
|
|
50
|
+
SINK_OPTION: "W_SINK_OPTION";
|
|
51
|
+
/** The sink refused the file's direction. */
|
|
52
|
+
DIRECTION_REFUSED: "W_DIRECTION_REFUSED";
|
|
53
|
+
/** Edges forced to the policy's direction. */
|
|
54
|
+
DIRECTION_FORCED: "W_DIRECTION_FORCED";
|
|
55
|
+
/** A mixed file under onMixedDirection "error" (fatal). */
|
|
56
|
+
MIXED_DIRECTION: "E_MIXED_DIRECTION";
|
|
57
|
+
/** A text column the sink could not widen to the dtype its cells imply. */
|
|
58
|
+
WIDENING_UNSUPPORTED: "W_WIDENING_UNSUPPORTED";
|
|
59
|
+
}>;
|
|
60
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/formats/csv/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AA6BH,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEnE;;;;GAIG;AACH,eAAO,MAAM,SAAS;IAClB,kCAAkC;;IAElC,6CAA6C;;IAE7C,0EAA0E;;IAE1E,iDAAiD;;IAEjD,0DAA0D;;IAE1D,iDAAiD;;IAEjD,kCAAkC;;IAElC,0DAA0D;;IAE1D,4CAA4C;;IAE5C,0CAA0C;;IAE1C,iCAAiC;;IAEjC,wCAAwC;;IAExC,kDAAkD;;IAElD,8DAA8D;;IAE9D,gEAAgE;;IAEhE,oEAAoE;;IAEpE,6GAA6G;;IAE7G,6DAA6D;;IAE7D,wDAAwD;;IAExD,6CAA6C;;IAE7C,8CAA8C;;IAE9C,2DAA2D;;IAE3D,2EAA2E;;EAE7E,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The CSV / TSV importer and exporter of @graphty/graph-io: the subpath entry `@graphty/graph-io/csv`.
|
|
3
|
+
*/
|
|
4
|
+
import { COLUMN_RENAMED_CODE, DIRECTION_FORCED_CODE, DIRECTION_REFUSED_CODE, INVALID_UTF8_CODE, MIXED_DIRECTION_CODE, OPTION_IGNORED_CODE, SINK_OPTION_CODE, } from "../../common/codes.js";
|
|
5
|
+
import { WIDENING_UNSUPPORTED_CODE } from "../../common/text.js";
|
|
6
|
+
import { BAD_TYPE_CODE, COLUMN_MISSING_CODE, DUPLICATE_EDGE_ID_CODE, DUPLICATE_NODE_CODE, EMPTY_INPUT_CODE, FIELD_COUNT_CODE, ID_MERGED_CODE, MISSING_ENDPOINT_CODE, MISSING_ID_CODE, NO_DATA_ROWS_CODE, NO_ENDPOINT_COLUMNS_CODE, NO_ID_COLUMN_CODE, ROLE_TAKEN_CODE, } from "./importer.js";
|
|
7
|
+
import { BAD_QUOTE_CODE, UNCLOSED_QUOTE_CODE } from "./records.js";
|
|
8
|
+
export { CSV_CAPABILITIES, CSV_LOSS, csvExporter } from "./exporter.js";
|
|
9
|
+
export { csvImporter } from "./importer.js";
|
|
10
|
+
/**
|
|
11
|
+
* The issue codes the CSV importer records (design section 8.6), by name: the codes shared with
|
|
12
|
+
* the other importers (src/common/codes.ts) and the CSV-specific ones. A key is the code without
|
|
13
|
+
* its severity and format prefixes.
|
|
14
|
+
*/
|
|
15
|
+
export const CSV_ISSUE = Object.freeze({
|
|
16
|
+
/** The input is empty (fatal). */
|
|
17
|
+
EMPTY_INPUT: EMPTY_INPUT_CODE,
|
|
18
|
+
/** The input holds invalid UTF-8 (fatal). */
|
|
19
|
+
INVALID_UTF8: INVALID_UTF8_CODE,
|
|
20
|
+
/** The header names neither endpoint columns nor an id column (fatal). */
|
|
21
|
+
NO_ENDPOINT_COLUMNS: NO_ENDPOINT_COLUMNS_CODE,
|
|
22
|
+
/** A node table without an id column (fatal). */
|
|
23
|
+
NO_ID_COLUMN: NO_ID_COLUMN_CODE,
|
|
24
|
+
/** A row with a different field count than the header. */
|
|
25
|
+
FIELD_COUNT: FIELD_COUNT_CODE,
|
|
26
|
+
/** An edge row with a blank source or target. */
|
|
27
|
+
MISSING_ENDPOINT: MISSING_ENDPOINT_CODE,
|
|
28
|
+
/** A node row with a blank id. */
|
|
29
|
+
MISSING_ID: MISSING_ID_CODE,
|
|
30
|
+
/** A Type cell outside Directed / Undirected / Mutual. */
|
|
31
|
+
BAD_TYPE: BAD_TYPE_CODE,
|
|
32
|
+
/** An unterminated quoted field (fatal). */
|
|
33
|
+
UNCLOSED_QUOTE: UNCLOSED_QUOTE_CODE,
|
|
34
|
+
/** Text after a closing quote (fatal). */
|
|
35
|
+
QUOTE: BAD_QUOTE_CODE,
|
|
36
|
+
/** A header and no data rows. */
|
|
37
|
+
NO_DATA_ROWS: NO_DATA_ROWS_CODE,
|
|
38
|
+
/** A node table row repeating an id. */
|
|
39
|
+
DUPLICATE_NODE: DUPLICATE_NODE_CODE,
|
|
40
|
+
/** An edge row repeating an edge id (skipped). */
|
|
41
|
+
DUPLICATE_EDGE_ID: DUPLICATE_EDGE_ID_CODE,
|
|
42
|
+
/** Two id cells merged into one number under ids "number". */
|
|
43
|
+
ID_MERGED: ID_MERGED_CODE,
|
|
44
|
+
/** An explicitly named weight column the file does not have. */
|
|
45
|
+
COLUMN_MISSING: COLUMN_MISSING_CODE,
|
|
46
|
+
/** A column whose role another column of the sink already holds. */
|
|
47
|
+
ROLE_TAKEN: ROLE_TAKEN_CODE,
|
|
48
|
+
/** A column renamed `<name>#<position>` (a repeated header, or a name the sink holds with another shape). */
|
|
49
|
+
COLUMN_RENAMED: COLUMN_RENAMED_CODE,
|
|
50
|
+
/** A common option the importer has no use for was given. */
|
|
51
|
+
OPTION_IGNORED: OPTION_IGNORED_CODE,
|
|
52
|
+
/** A builder-policy option the sink does not honour. */
|
|
53
|
+
SINK_OPTION: SINK_OPTION_CODE,
|
|
54
|
+
/** The sink refused the file's direction. */
|
|
55
|
+
DIRECTION_REFUSED: DIRECTION_REFUSED_CODE,
|
|
56
|
+
/** Edges forced to the policy's direction. */
|
|
57
|
+
DIRECTION_FORCED: DIRECTION_FORCED_CODE,
|
|
58
|
+
/** A mixed file under onMixedDirection "error" (fatal). */
|
|
59
|
+
MIXED_DIRECTION: MIXED_DIRECTION_CODE,
|
|
60
|
+
/** A text column the sink could not widen to the dtype its cells imply. */
|
|
61
|
+
WIDENING_UNSUPPORTED: WIDENING_UNSUPPORTED_CODE,
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/formats/csv/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EACH,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAyB,MAAM,eAAe,CAAC;AAE/F,OAAO,EAAE,WAAW,EAAyB,MAAM,eAAe,CAAC;AAEnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,kCAAkC;IAClC,WAAW,EAAE,gBAAgB;IAC7B,6CAA6C;IAC7C,YAAY,EAAE,iBAAiB;IAC/B,0EAA0E;IAC1E,mBAAmB,EAAE,wBAAwB;IAC7C,iDAAiD;IACjD,YAAY,EAAE,iBAAiB;IAC/B,0DAA0D;IAC1D,WAAW,EAAE,gBAAgB;IAC7B,iDAAiD;IACjD,gBAAgB,EAAE,qBAAqB;IACvC,kCAAkC;IAClC,UAAU,EAAE,eAAe;IAC3B,0DAA0D;IAC1D,QAAQ,EAAE,aAAa;IACvB,4CAA4C;IAC5C,cAAc,EAAE,mBAAmB;IACnC,0CAA0C;IAC1C,KAAK,EAAE,cAAc;IACrB,iCAAiC;IACjC,YAAY,EAAE,iBAAiB;IAC/B,wCAAwC;IACxC,cAAc,EAAE,mBAAmB;IACnC,kDAAkD;IAClD,iBAAiB,EAAE,sBAAsB;IACzC,8DAA8D;IAC9D,SAAS,EAAE,cAAc;IACzB,gEAAgE;IAChE,cAAc,EAAE,mBAAmB;IACnC,oEAAoE;IACpE,UAAU,EAAE,eAAe;IAC3B,6GAA6G;IAC7G,cAAc,EAAE,mBAAmB;IACnC,6DAA6D;IAC7D,cAAc,EAAE,mBAAmB;IACnC,wDAAwD;IACxD,WAAW,EAAE,gBAAgB;IAC7B,6CAA6C;IAC7C,iBAAiB,EAAE,sBAAsB;IACzC,8CAA8C;IAC9C,gBAAgB,EAAE,qBAAqB;IACvC,2DAA2D;IAC3D,eAAe,EAAE,oBAAoB;IACrC,2EAA2E;IAC3E,oBAAoB,EAAE,yBAAyB;CAClD,CAAC,CAAC"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one streaming CSV record reader of the package (design sections 8.2 and 8.4: hand-written
|
|
3
|
+
* tokenisers per format; CSV and Neo4j CSV are line-oriented over a byte stream): RFC 4180 records
|
|
4
|
+
* with a configurable single-character delimiter and quote, a doubled quote inside a quoted field,
|
|
5
|
+
* quoted fields spanning lines, LF / CRLF / lone-CR terminators, read from the common text reader
|
|
6
|
+
* one chunk at a time as a character state machine. Only the open field is ever held, so a field
|
|
7
|
+
* spanning many chunks costs its length once and a multi-gigabyte file is never buffered.
|
|
8
|
+
*
|
|
9
|
+
* `RecordReader` (used by the Neo4j importer) keeps one reusable cell array and one reusable
|
|
10
|
+
* "was quoted" array: a quoted empty field (`""`) is an empty string while an unquoted empty field
|
|
11
|
+
* means "not set", and only the tokeniser can tell the two apart. `CsvRecordReader` (the CSV
|
|
12
|
+
* importer) wraps it with delimiter sniffing over a bounded preview and yields a fresh cell array
|
|
13
|
+
* per row. A malformed quoted field is fatal for both: an unterminated quote swallows the rest of
|
|
14
|
+
* the file, and text after a closing quote makes every later cell boundary unreliable.
|
|
15
|
+
*/
|
|
16
|
+
import { type ReadOptions } from "../../common/input.js";
|
|
17
|
+
import { type ImportReportBuilder } from "../../common/report.js";
|
|
18
|
+
import { type ImportInput } from "../../types.js";
|
|
19
|
+
/** Issue code: a quoted field is never closed; the import aborts (everything after it would be one cell). */
|
|
20
|
+
export declare const UNCLOSED_QUOTE_CODE = "E_CSV_UNCLOSED_QUOTE";
|
|
21
|
+
/** Issue code: a closing quote is followed by text other than a delimiter or a line break; the import aborts. */
|
|
22
|
+
export declare const BAD_QUOTE_CODE = "E_CSV_QUOTE";
|
|
23
|
+
/** The delimiter and quote of a reader. */
|
|
24
|
+
export interface RecordSyntax {
|
|
25
|
+
/** The field delimiter, one character; null sniffs it from the first rows. */
|
|
26
|
+
readonly delimiter: string | null;
|
|
27
|
+
/** The quote character, one character. */
|
|
28
|
+
readonly quote: string;
|
|
29
|
+
/** The delimiters tried when `delimiter` is null; DELIMITER_CANDIDATES by default. */
|
|
30
|
+
readonly candidates?: readonly string[] | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Characters that open a comment line while no record has been read yet (SNAP `#`, KONECT
|
|
33
|
+
* `%`): such leading lines are skipped, kept in `leadingComments` and left out of the delimiter
|
|
34
|
+
* sniff. A later line starting with one of them is an ordinary record. Default: none.
|
|
35
|
+
*/
|
|
36
|
+
readonly comments?: readonly string[] | undefined;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check a delimiter or quote option: exactly one character that is not a line break, and the two
|
|
40
|
+
* must differ.
|
|
41
|
+
* @param syntax - the delimiter (or null for sniffing) and quote
|
|
42
|
+
* @returns the syntax unchanged; E_UNSUPPORTED when invalid
|
|
43
|
+
*/
|
|
44
|
+
export declare function checkRecordSyntax(syntax: RecordSyntax): RecordSyntax;
|
|
45
|
+
/**
|
|
46
|
+
* Sniff the line terminator of a text: a lone `\r` only when the text has `\r` and no `\n` at all
|
|
47
|
+
* (classic Mac files); `\n` otherwise.
|
|
48
|
+
* @param text - the preview text
|
|
49
|
+
* @returns "\n" or "\r"
|
|
50
|
+
*/
|
|
51
|
+
export declare function sniffNewline(text: string): "\n" | "\r";
|
|
52
|
+
/**
|
|
53
|
+
* Sniff the delimiter of a text: every candidate is tried over the first rows and the one whose
|
|
54
|
+
* field count is most consistent across rows wins (ties broken by the higher field count); a
|
|
55
|
+
* candidate that yields fewer than two fields per row on average is never chosen. `null` when no
|
|
56
|
+
* candidate qualifies (a single-column file).
|
|
57
|
+
* @param text - the preview text
|
|
58
|
+
* @param newline - the sniffed line terminator (unused by the splitter, which reads every kind;
|
|
59
|
+
* kept for callers that sniffed it)
|
|
60
|
+
* @param candidates - the delimiters to try, in priority order
|
|
61
|
+
* @param quote - the quote character
|
|
62
|
+
* @returns the delimiter, or null
|
|
63
|
+
*/
|
|
64
|
+
export declare function sniffDelimiter(text: string, newline?: "\n" | "\r", candidates?: readonly string[], quote?: string): string | null;
|
|
65
|
+
/**
|
|
66
|
+
* Reads the records of one input. Iterate with `for await (const count of reader)`: each
|
|
67
|
+
* iteration fills `reader.cells[0..count)` and `reader.quoted[0..count)` and sets `reader.line`
|
|
68
|
+
* to the 1-based line the record started on. Blank lines (an empty unquoted record of one field)
|
|
69
|
+
* are skipped. The arrays are reused between records. When the syntax gives no delimiter, the
|
|
70
|
+
* first rows (PREVIEW_ROWS, or PREVIEW_CHARS characters) are buffered and the delimiter sniffed
|
|
71
|
+
* from them before the first record is yielded.
|
|
72
|
+
*/
|
|
73
|
+
export declare class RecordReader implements AsyncIterable<number> {
|
|
74
|
+
/** The cells of the record most recently yielded; only the first `count` entries are valid. */
|
|
75
|
+
readonly cells: string[];
|
|
76
|
+
/** Whether each cell of the record most recently yielded was quoted. */
|
|
77
|
+
readonly quoted: boolean[];
|
|
78
|
+
/** The leading comment lines (without their line breaks), in order; empty without `syntax.comments`. */
|
|
79
|
+
readonly leadingComments: string[];
|
|
80
|
+
private readonly input;
|
|
81
|
+
private readonly report;
|
|
82
|
+
private readonly readOptions;
|
|
83
|
+
/** The delimiter (null while unsniffed), quote and comment characters. */
|
|
84
|
+
readonly syntax: RecordSyntax;
|
|
85
|
+
private delimiterText;
|
|
86
|
+
private recordLine;
|
|
87
|
+
/**
|
|
88
|
+
* Create a reader; nothing is read until iteration starts.
|
|
89
|
+
* @param input - the input (or an async iterable of already decoded text chunks)
|
|
90
|
+
* @param report - the report decode and quoting errors are recorded in
|
|
91
|
+
* @param syntax - the delimiter (null to sniff) and quote (already checked)
|
|
92
|
+
* @param readOptions - cancellation and progress
|
|
93
|
+
*/
|
|
94
|
+
constructor(input: ImportInput, report: ImportReportBuilder, syntax: RecordSyntax, readOptions: ReadOptions);
|
|
95
|
+
/**
|
|
96
|
+
* The 1-based line the most recently yielded record started on.
|
|
97
|
+
* @returns the line number; 0 before the first record
|
|
98
|
+
*/
|
|
99
|
+
get line(): number;
|
|
100
|
+
/**
|
|
101
|
+
* The delimiter in use.
|
|
102
|
+
* @returns the given or sniffed delimiter; null before the sniff ran
|
|
103
|
+
*/
|
|
104
|
+
get delimiter(): string | null;
|
|
105
|
+
/**
|
|
106
|
+
* Iterate the records.
|
|
107
|
+
* @yields the number of cells of each record
|
|
108
|
+
* @returns nothing
|
|
109
|
+
*/
|
|
110
|
+
[Symbol.asyncIterator](): AsyncGenerator<number, void, undefined>;
|
|
111
|
+
/**
|
|
112
|
+
* Record a text-after-quote error (fatal).
|
|
113
|
+
* @param line - the line the field started on
|
|
114
|
+
* @returns never
|
|
115
|
+
*/
|
|
116
|
+
badQuote(line: number): never;
|
|
117
|
+
/**
|
|
118
|
+
* Record an unclosed-quote error (fatal).
|
|
119
|
+
* @param line - the line the field started on
|
|
120
|
+
* @returns never
|
|
121
|
+
*/
|
|
122
|
+
unclosedQuote(line: number): never;
|
|
123
|
+
/**
|
|
124
|
+
* The decoded text chunks of the input; when the delimiter is to be sniffed, the first rows
|
|
125
|
+
* are buffered (bounded by PREVIEW_ROWS line breaks or PREVIEW_CHARS characters), the sniff
|
|
126
|
+
* runs, and the buffered text is yielded as one chunk before the rest streams through.
|
|
127
|
+
* @yields the text chunks
|
|
128
|
+
* @returns nothing
|
|
129
|
+
*/
|
|
130
|
+
private chunks;
|
|
131
|
+
/**
|
|
132
|
+
* Sniff the delimiter from the preview text and record it.
|
|
133
|
+
* @param text - the preview
|
|
134
|
+
*/
|
|
135
|
+
private sniff;
|
|
136
|
+
}
|
|
137
|
+
/** What the CSV importer's reader needs besides the input. */
|
|
138
|
+
export interface CsvReaderOptions extends ReadOptions {
|
|
139
|
+
/** The delimiter; null or undefined sniffs it from the preview. */
|
|
140
|
+
readonly delimiter?: string | null | undefined;
|
|
141
|
+
/** The characters opening a leading comment line (RecordSyntax.comments); none by default. */
|
|
142
|
+
readonly comments?: readonly string[] | undefined;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Records of a CSV input, one string array per row, streamed: iterate with
|
|
146
|
+
* `for await (const row of reader)` and read `reader.line` for the 1-based line the row starts
|
|
147
|
+
* on. The delimiter is known after the first row (`reader.delimiter`). Rows come out as fresh
|
|
148
|
+
* arrays of cell texts exactly as written (no trimming, no typing); `reader.quoted` tells, for
|
|
149
|
+
* the row just yielded, which cells were quoted (a quoted empty cell is the empty string, an
|
|
150
|
+
* unquoted one is "not set"). Blank lines and whitespace-only single-cell lines are skipped.
|
|
151
|
+
*/
|
|
152
|
+
export declare class CsvRecordReader implements AsyncIterable<string[]> {
|
|
153
|
+
private readonly inner;
|
|
154
|
+
/**
|
|
155
|
+
* Create a reader; nothing is read until iteration starts.
|
|
156
|
+
* @param input - the input
|
|
157
|
+
* @param report - the report parse errors are recorded in
|
|
158
|
+
* @param options - the delimiter, cancellation and progress
|
|
159
|
+
*/
|
|
160
|
+
constructor(input: ImportInput, report: ImportReportBuilder, options?: CsvReaderOptions);
|
|
161
|
+
/**
|
|
162
|
+
* The leading comment lines the reader skipped (SNAP `#` lines, the KONECT `%` header), in order.
|
|
163
|
+
* @returns the lines without their line breaks
|
|
164
|
+
*/
|
|
165
|
+
get leadingComments(): readonly string[];
|
|
166
|
+
/**
|
|
167
|
+
* The 1-based line the most recently yielded row starts on.
|
|
168
|
+
* @returns the line; 0 before the first row
|
|
169
|
+
*/
|
|
170
|
+
get line(): number;
|
|
171
|
+
/**
|
|
172
|
+
* The delimiter in use.
|
|
173
|
+
* @returns the given or sniffed delimiter; null before the sniff ran
|
|
174
|
+
*/
|
|
175
|
+
get delimiter(): string | null;
|
|
176
|
+
/**
|
|
177
|
+
* Whether each cell of the row most recently yielded was quoted.
|
|
178
|
+
* @returns the flags (valid for the first `row.length` entries)
|
|
179
|
+
*/
|
|
180
|
+
get quoted(): readonly boolean[];
|
|
181
|
+
/**
|
|
182
|
+
* Iterate the rows.
|
|
183
|
+
* @yields one row at a time as its cell texts
|
|
184
|
+
* @returns nothing
|
|
185
|
+
*/
|
|
186
|
+
[Symbol.asyncIterator](): AsyncGenerator<string[], void, undefined>;
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=records.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../../../src/formats/csv/records.ts"],"names":[],"mappings":"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"}
|