@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/csv.js
CHANGED
|
@@ -1606,7 +1606,7 @@ function sniff(head) {
|
|
|
1606
1606
|
label = "utf-16be";
|
|
1607
1607
|
}
|
|
1608
1608
|
const body = stripLeadingComments(new TextDecoder(label).decode(head.subarray(0, HEAD_BYTES)), COMMENT_CHARS);
|
|
1609
|
-
if (body.trim().length === 0 || OTHER_FORMATS.some((r) => r.test(body))) {
|
|
1609
|
+
if (body.trim().length === 0 || hasControlCharacter(body) || OTHER_FORMATS.some((r) => r.test(body))) {
|
|
1610
1610
|
return 0;
|
|
1611
1611
|
}
|
|
1612
1612
|
const newline = sniffNewline(body);
|
|
@@ -1628,6 +1628,16 @@ function sniff(head) {
|
|
|
1628
1628
|
}
|
|
1629
1629
|
return looksLikeProse(body, newline, delimiter) ? 0 : 0.3;
|
|
1630
1630
|
}
|
|
1631
|
+
function hasControlCharacter(text) {
|
|
1632
|
+
const last = text.length - 1;
|
|
1633
|
+
for (let i = 0; i <= last; i++) {
|
|
1634
|
+
const c = text.codePointAt(i) ?? 0;
|
|
1635
|
+
if (c < 32 && c !== 9 && c !== 10 && c !== 13 && !(c === 26 && i === last)) {
|
|
1636
|
+
return true;
|
|
1637
|
+
}
|
|
1638
|
+
}
|
|
1639
|
+
return false;
|
|
1640
|
+
}
|
|
1631
1641
|
const SENTENCE = /[A-Za-z]{2}[.!?](?:\s|$)/;
|
|
1632
1642
|
function looksLikeProse(body, newline, delimiter) {
|
|
1633
1643
|
const lines2 = body.split(newline).filter((l) => l.trim() !== "");
|