@graphty/graph-io 0.3.27 → 0.3.28
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/dist/chunks/export-CHd4tQE2.js.map +1 -1
- package/dist/chunks/{exporter-IHv4nkCm.js → exporter-Cl021ZIE.js} +71 -47
- package/dist/chunks/exporter-Cl021ZIE.js.map +1 -0
- package/dist/chunks/exporter-D23CKNqF.js.map +1 -1
- package/dist/chunks/importer-BSALvkui.js.map +1 -1
- package/dist/chunks/{importer-B1wmPQjr.js → importer-BZB7iP9r.js} +31 -5
- package/dist/chunks/importer-BZB7iP9r.js.map +1 -0
- package/dist/chunks/importer-z_FL4VMb.js.map +1 -1
- package/dist/csv.js +11 -1
- package/dist/csv.js.map +1 -1
- package/dist/cx2.js +1 -1
- package/dist/dot.js +1 -1
- package/dist/gml.js +15 -6
- package/dist/gml.js.map +1 -1
- package/dist/graph-io.js +4 -4
- package/dist/graph-io.js.map +1 -1
- package/dist/src/common/declared-types.d.ts.map +1 -1
- package/dist/src/common/declared-types.js.map +1 -1
- package/dist/src/common/zip.js.map +1 -1
- package/dist/src/formats/csv/importer.d.ts.map +1 -1
- package/dist/src/formats/csv/importer.js +20 -2
- package/dist/src/formats/csv/importer.js.map +1 -1
- package/dist/src/formats/cx2/exporter.d.ts.map +1 -1
- package/dist/src/formats/cx2/exporter.js +84 -33
- package/dist/src/formats/cx2/exporter.js.map +1 -1
- package/dist/src/formats/dot/exporter.js +30 -4
- package/dist/src/formats/dot/exporter.js.map +1 -1
- package/dist/src/formats/dot/importer.js.map +1 -1
- package/dist/src/formats/gml/exporter.d.ts.map +1 -1
- package/dist/src/formats/gml/exporter.js +23 -6
- package/dist/src/formats/gml/exporter.js.map +1 -1
- package/dist/src/formats/pajek/importer.js.map +1 -1
- package/dist/src/registry.d.ts.map +1 -1
- package/dist/src/registry.js.map +1 -1
- package/dist/src/sniff.d.ts.map +1 -1
- package/dist/src/sniff.js.map +1 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/package.json +2 -2
- package/src/common/declared-types.ts +1 -10
- package/src/common/zip.ts +1 -1
- package/src/formats/csv/importer.ts +21 -2
- package/src/formats/cx2/exporter.ts +123 -49
- package/src/formats/dot/exporter.ts +37 -4
- package/src/formats/dot/importer.ts +1 -1
- package/src/formats/gml/exporter.ts +24 -6
- package/src/formats/pajek/importer.ts +1 -1
- package/src/registry.ts +9 -10
- package/src/sniff.ts +2 -21
- package/src/types.ts +1 -7
- package/dist/chunks/exporter-IHv4nkCm.js.map +0 -1
- package/dist/chunks/importer-B1wmPQjr.js.map +0 -1
package/dist/cx2.js
CHANGED
package/dist/dot.js
CHANGED
package/dist/gml.js
CHANGED
|
@@ -473,17 +473,26 @@ function isTopLevel(column) {
|
|
|
473
473
|
function versionText(text) {
|
|
474
474
|
return NUMBER_TEXT.test(text) ? text : quoteGmlString(text);
|
|
475
475
|
}
|
|
476
|
+
function labelRoleColumn(columns, label, used) {
|
|
477
|
+
if (label !== "node" && label !== "edge") {
|
|
478
|
+
return void 0;
|
|
479
|
+
}
|
|
480
|
+
const column = columns.find((c) => c.meta.role === "label");
|
|
481
|
+
if (column !== void 0) {
|
|
482
|
+
used.add("label");
|
|
483
|
+
}
|
|
484
|
+
return column;
|
|
485
|
+
}
|
|
476
486
|
function selectColumns(table, reserved, label, plan, notes, filter = () => true) {
|
|
477
487
|
const used = new Set(reserved);
|
|
478
488
|
const out = [];
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
const preferred = preferredKey(column.meta);
|
|
489
|
+
const columns = [...table].filter((c) => isWritten(c) && filter(c));
|
|
490
|
+
const labelRole = labelRoleColumn(columns, label, used);
|
|
491
|
+
for (const column of columns) {
|
|
492
|
+
const preferred = column === labelRole ? "label" : preferredKey(column.meta);
|
|
484
493
|
let key = preferred;
|
|
485
494
|
const valid = isGmlKey(preferred);
|
|
486
|
-
const taken = used.has(preferred);
|
|
495
|
+
const taken = column !== labelRole && used.has(preferred);
|
|
487
496
|
if (!valid || taken) {
|
|
488
497
|
const code = valid ? RESERVED_KEY_CODE : INVALID_KEY_CODE;
|
|
489
498
|
let why = "is not a GML key";
|