@graphty/graph-io 0.3.32 → 0.3.34

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.
Files changed (142) hide show
  1. package/dist/chunks/{choose-BJq_vp1b.js → choose-494CpuXQ.js} +2 -2
  2. package/dist/chunks/{choose-BJq_vp1b.js.map → choose-494CpuXQ.js.map} +1 -1
  3. package/dist/chunks/{constants-Bw-6JQuC.js → constants-BBK4rsQZ.js} +2 -2
  4. package/dist/chunks/{constants-Bw-6JQuC.js.map → constants-BBK4rsQZ.js.map} +1 -1
  5. package/dist/chunks/{escape-CnTfa_y8.js → escape-wVIEtLv6.js} +6 -6
  6. package/dist/chunks/escape-wVIEtLv6.js.map +1 -0
  7. package/dist/chunks/{export-ZucVKiU4.js → export-Cbt4h_0n.js} +8 -8
  8. package/dist/chunks/export-Cbt4h_0n.js.map +1 -0
  9. package/dist/chunks/{exporter-BOLJIzvA.js → exporter-CkPnJCXU.js} +36 -12
  10. package/dist/chunks/exporter-CkPnJCXU.js.map +1 -0
  11. package/dist/chunks/{exporter-hc2ZuqVe.js → exporter-CqnmKk-f.js} +4 -4
  12. package/dist/chunks/{exporter-hc2ZuqVe.js.map → exporter-CqnmKk-f.js.map} +1 -1
  13. package/dist/chunks/{exporter-DgDjwLOm.js → exporter-DMxRy-0l.js} +4 -4
  14. package/dist/chunks/{exporter-DgDjwLOm.js.map → exporter-DMxRy-0l.js.map} +1 -1
  15. package/dist/chunks/{exporter-DRNkA2k0.js → exporter-LZTIAzkS.js} +19 -7
  16. package/dist/chunks/{exporter-DRNkA2k0.js.map → exporter-LZTIAzkS.js.map} +1 -1
  17. package/dist/chunks/{importer-DsNj_zoG.js → importer-BTSvNJUB.js} +4 -4
  18. package/dist/chunks/importer-BTSvNJUB.js.map +1 -0
  19. package/dist/chunks/{importer-ByCd2CAY.js → importer-BTbjwN10.js} +5 -5
  20. package/dist/chunks/{importer-ByCd2CAY.js.map → importer-BTbjwN10.js.map} +1 -1
  21. package/dist/chunks/{importer-WPz-AUz8.js → importer-C1VMuEBQ.js} +8 -8
  22. package/dist/chunks/importer-C1VMuEBQ.js.map +1 -0
  23. package/dist/chunks/{importer-BAlFKpHP.js → importer-CSmH218L.js} +6 -6
  24. package/dist/chunks/{importer-BAlFKpHP.js.map → importer-CSmH218L.js.map} +1 -1
  25. package/dist/chunks/{importer-D7xB8oVV.js → importer-DMgcD1wI.js} +5 -5
  26. package/dist/chunks/{importer-D7xB8oVV.js.map → importer-DMgcD1wI.js.map} +1 -1
  27. package/dist/chunks/{importer-rjFCmKfx.js → importer-DtKPzhVp.js} +5 -5
  28. package/dist/chunks/importer-DtKPzhVp.js.map +1 -0
  29. package/dist/chunks/{importer-CaLIrkjL.js → importer-DvPvd4Yy.js} +22 -15
  30. package/dist/chunks/importer-DvPvd4Yy.js.map +1 -0
  31. package/dist/chunks/{json-elements-CkC87El2.js → json-elements-CxJF-Szz.js} +6 -6
  32. package/dist/chunks/json-elements-CxJF-Szz.js.map +1 -0
  33. package/dist/chunks/{ontology-export-BRErBO6J.js → ontology-export-p1PsPenq.js} +2 -2
  34. package/dist/chunks/{ontology-export-BRErBO6J.js.map → ontology-export-p1PsPenq.js.map} +1 -1
  35. package/dist/chunks/{records-DwfSjH8c.js → records-BrfHycmg.js} +2 -2
  36. package/dist/chunks/{records-DwfSjH8c.js.map → records-BrfHycmg.js.map} +1 -1
  37. package/dist/chunks/{text-BEEWD-G1.js → text-BD-TzLNm.js} +4 -4
  38. package/dist/chunks/text-BD-TzLNm.js.map +1 -0
  39. package/dist/csv.js +4 -4
  40. package/dist/cx.js +1 -1
  41. package/dist/cx2.js +2 -2
  42. package/dist/cys.js +1 -1
  43. package/dist/dot.js +1 -1
  44. package/dist/gexf.js +2 -2
  45. package/dist/gml.js +10 -10
  46. package/dist/gml.js.map +1 -1
  47. package/dist/graph-io.js +26 -26
  48. package/dist/graphml.js +2 -2
  49. package/dist/json.js +1 -1
  50. package/dist/neo4j.js +3 -3
  51. package/dist/obo.js +1 -1
  52. package/dist/pajek.js +1 -1
  53. package/dist/src/common/attributes.js +1 -1
  54. package/dist/src/common/attributes.js.map +1 -1
  55. package/dist/src/common/declared-types.js +2 -2
  56. package/dist/src/common/declared-types.js.map +1 -1
  57. package/dist/src/common/escape.js +2 -2
  58. package/dist/src/common/escape.js.map +1 -1
  59. package/dist/src/common/ids.js +1 -1
  60. package/dist/src/common/ids.js.map +1 -1
  61. package/dist/src/common/json-elements.d.ts.map +1 -1
  62. package/dist/src/common/json-elements.js +3 -3
  63. package/dist/src/common/json-elements.js.map +1 -1
  64. package/dist/src/common/temporal.js +3 -3
  65. package/dist/src/common/temporal.js.map +1 -1
  66. package/dist/src/common/text.js +2 -2
  67. package/dist/src/common/text.js.map +1 -1
  68. package/dist/src/common/xml.js +2 -2
  69. package/dist/src/common/xml.js.map +1 -1
  70. package/dist/src/formats/cx/exporter.js +1 -1
  71. package/dist/src/formats/cx/exporter.js.map +1 -1
  72. package/dist/src/formats/cx/importer.js +3 -3
  73. package/dist/src/formats/cx/importer.js.map +1 -1
  74. package/dist/src/formats/cx2/importer.js +1 -1
  75. package/dist/src/formats/cx2/importer.js.map +1 -1
  76. package/dist/src/formats/gml/exporter.js +1 -1
  77. package/dist/src/formats/gml/exporter.js.map +1 -1
  78. package/dist/src/formats/gml/importer.js +2 -2
  79. package/dist/src/formats/gml/importer.js.map +1 -1
  80. package/dist/src/formats/gml/syntax.js +4 -4
  81. package/dist/src/formats/gml/syntax.js.map +1 -1
  82. package/dist/src/formats/graphml/importer.js +1 -1
  83. package/dist/src/formats/graphml/importer.js.map +1 -1
  84. package/dist/src/formats/json/exporter.d.ts +2 -0
  85. package/dist/src/formats/json/exporter.d.ts.map +1 -1
  86. package/dist/src/formats/json/exporter.js +3 -1
  87. package/dist/src/formats/json/exporter.js.map +1 -1
  88. package/dist/src/formats/json/obographs-export.d.ts +2 -0
  89. package/dist/src/formats/json/obographs-export.d.ts.map +1 -1
  90. package/dist/src/formats/json/obographs-export.js +5 -0
  91. package/dist/src/formats/json/obographs-export.js.map +1 -1
  92. package/dist/src/formats/obo/exporter.d.ts +2 -0
  93. package/dist/src/formats/obo/exporter.d.ts.map +1 -1
  94. package/dist/src/formats/obo/exporter.js +5 -0
  95. package/dist/src/formats/obo/exporter.js.map +1 -1
  96. package/dist/src/formats/obo/syntax.d.ts.map +1 -1
  97. package/dist/src/formats/obo/syntax.js +39 -10
  98. package/dist/src/formats/obo/syntax.js.map +1 -1
  99. package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
  100. package/dist/src/formats/pajek/exporter.js +2 -4
  101. package/dist/src/formats/pajek/exporter.js.map +1 -1
  102. package/dist/src/formats/pajek/importer.js +2 -2
  103. package/dist/src/formats/pajek/importer.js.map +1 -1
  104. package/dist/src/formats/pajek/syntax.d.ts.map +1 -1
  105. package/dist/src/formats/pajek/syntax.js +14 -4
  106. package/dist/src/formats/pajek/syntax.js.map +1 -1
  107. package/dist/src/formats/xgmml/values.js +1 -1
  108. package/dist/src/formats/xgmml/values.js.map +1 -1
  109. package/dist/xgmml.js +2 -2
  110. package/package.json +2 -2
  111. package/src/common/attributes.ts +1 -1
  112. package/src/common/declared-types.ts +2 -2
  113. package/src/common/escape.ts +2 -2
  114. package/src/common/ids.ts +1 -1
  115. package/src/common/json-elements.ts +3 -3
  116. package/src/common/temporal.ts +3 -3
  117. package/src/common/text.ts +2 -2
  118. package/src/common/xml.ts +2 -2
  119. package/src/formats/cx/exporter.ts +1 -1
  120. package/src/formats/cx/importer.ts +3 -3
  121. package/src/formats/cx2/importer.ts +1 -1
  122. package/src/formats/gml/exporter.ts +1 -1
  123. package/src/formats/gml/importer.ts +2 -2
  124. package/src/formats/gml/syntax.ts +4 -4
  125. package/src/formats/graphml/importer.ts +1 -1
  126. package/src/formats/json/exporter.ts +3 -1
  127. package/src/formats/json/obographs-export.ts +10 -0
  128. package/src/formats/obo/exporter.ts +10 -0
  129. package/src/formats/obo/syntax.ts +42 -9
  130. package/src/formats/pajek/exporter.ts +2 -4
  131. package/src/formats/pajek/importer.ts +2 -2
  132. package/src/formats/pajek/syntax.ts +14 -5
  133. package/src/formats/xgmml/values.ts +1 -1
  134. package/dist/chunks/escape-CnTfa_y8.js.map +0 -1
  135. package/dist/chunks/export-ZucVKiU4.js.map +0 -1
  136. package/dist/chunks/exporter-BOLJIzvA.js.map +0 -1
  137. package/dist/chunks/importer-CaLIrkjL.js.map +0 -1
  138. package/dist/chunks/importer-DsNj_zoG.js.map +0 -1
  139. package/dist/chunks/importer-WPz-AUz8.js.map +0 -1
  140. package/dist/chunks/importer-rjFCmKfx.js.map +0 -1
  141. package/dist/chunks/json-elements-CkC87El2.js.map +0 -1
  142. package/dist/chunks/text-BEEWD-G1.js.map +0 -1
@@ -95,8 +95,8 @@ const SECTION_KINDS = new Map([
95
95
  ["partition", "partition"],
96
96
  ["vector", "vector"],
97
97
  ]);
98
- const INTEGER_TEXT = /^[+-]?[0-9]+$/;
99
- const TIME_POINT = /^(\*|[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?)(?:-(\*|[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?))?$/;
98
+ const INTEGER_TEXT = /^[+-]?\d+$/;
99
+ const TIME_POINT = /^(\*|[+-]?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)(?:-(\*|[+-]?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?))?$/;
100
100
  /**
101
101
  * Split one line into tokens: runs of non-whitespace, with double quotes grouping whitespace
102
102
  * into one token and removed from it (the shlex rule NetworkX applies; Pajek has no escapes, so a
@@ -153,9 +153,19 @@ class LineTokens {
153
153
  this.endToken();
154
154
  return i + 1;
155
155
  }
156
- this.current += this.line[i];
156
+ // the whole run up to the next quote (or blank, outside quotes) in one slice: appending one
157
+ // character at a time builds a rope node per character, and a 50 MB label spent seconds in GC
158
+ let end = i + 1;
159
+ while (end < this.line.length) {
160
+ const d = this.line.charCodeAt(end); // NOSONAR(S7758): reads UTF-16 code units on purpose
161
+ if (d === 34 || (!this.quoted && isBlank(d))) {
162
+ break;
163
+ }
164
+ end++;
165
+ }
166
+ this.current += this.line.slice(i, end);
157
167
  this.started = true;
158
- return i + 1;
168
+ return end;
159
169
  }
160
170
  /**
161
171
  * The tokens of the line.
@@ -1 +1 @@
1
- {"version":3,"file":"syntax.js","sourceRoot":"","sources":["../../../../src/formats/pajek/syntax.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syntax.js","sourceRoot":"","sources":["../../../../src/formats/pajek/syntax.ts"],"names":[],"mappings":"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"}
@@ -85,7 +85,7 @@ export function widenScalar(a, b) {
85
85
  }
86
86
  return "long";
87
87
  }
88
- const INTEGER_TEXT = /^[+-]?[0-9]+$/;
88
+ const INTEGER_TEXT = /^[+-]?\d+$/;
89
89
  /** Java's Double.valueOf forms that Cytoscape writes: no hex, no `d` / `f` suffix. */
90
90
  const REAL_TEXT = /^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/;
91
91
  const NON_FINITE_TEXT = /^[+-]?(?:NaN|Infinity)$/;
@@ -1 +1 @@
1
- {"version":3,"file":"values.js","sourceRoot":"","sources":["../../../../src/formats/xgmml/values.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"values.js","sourceRoot":"","sources":["../../../../src/formats/xgmml/values.ts"],"names":[],"mappings":"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"}
package/dist/xgmml.js CHANGED
@@ -1,5 +1,5 @@
1
- import { X, a, x } from "./chunks/importer-rjFCmKfx.js";
2
- import { x as x2 } from "./chunks/exporter-hc2ZuqVe.js";
1
+ import { X, a, x } from "./chunks/importer-DtKPzhVp.js";
2
+ import { x as x2 } from "./chunks/exporter-CqnmKk-f.js";
3
3
  export {
4
4
  X as XGMML_ISSUE,
5
5
  a as XGMML_LOSS,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphty/graph-io",
3
- "version": "0.3.32",
3
+ "version": "0.3.34",
4
4
  "description": "Read and write 13 graph file formats (JSON, GraphML, GEXF, CSV, GML, DOT, Pajek, Neo4j CSV, XGMML, CX2, CX, OBO, Cytoscape sessions) as @graphty/graph-format snapshots",
5
5
  "author": "Adam Powers <apowers@ato.ms>",
6
6
  "type": "module",
@@ -121,7 +121,7 @@
121
121
  },
122
122
  "homepage": "https://graphty.app/docs/graph-io/",
123
123
  "dependencies": {
124
- "@graphty/graph-format": "^1.3.10"
124
+ "@graphty/graph-format": "^1.3.11"
125
125
  },
126
126
  "peerDependencies": {
127
127
  "@graphty/graph-format": "^1.0.0"
@@ -244,7 +244,7 @@ export function parseDeclaredTemporal(text: string, spec: DeclaredTypeSpec): Tem
244
244
  return parseTemporal(text.trim(), spec.temporal);
245
245
  }
246
246
 
247
- const INTEGER_TEXT = /^[+-]?[0-9]+$/;
247
+ const INTEGER_TEXT = /^[+-]?\d+$/;
248
248
 
249
249
  /**
250
250
  * Whether a long value's text lost precision when parsed to f64 (design section 5.1: a value with
@@ -136,8 +136,8 @@ const TABLES: Readonly<Record<DeclaringFormat, Readonly<Record<string, ScalarEnt
136
136
  neo4j: NEO4J_SCALARS,
137
137
  };
138
138
 
139
- const INTEGER_TEXT = /^[+-]?[0-9]+$/;
140
- const DECIMAL_TEXT = /^[+-]?([0-9]+(\.[0-9]*)?|\.[0-9]+)([eE][+-]?[0-9]+)?$/;
139
+ const INTEGER_TEXT = /^[+-]?\d+$/;
140
+ const DECIMAL_TEXT = /^[+-]?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?$/;
141
141
  const I32_MIN = -2147483648;
142
142
  const I32_MAX = 2147483647;
143
143
 
@@ -91,7 +91,7 @@ export function quoteGmlString(text: string): string {
91
91
  return `"${escaped}"`;
92
92
  }
93
93
 
94
- const GML_ENTITY = /&(#[0-9]+|#x[0-9a-fA-F]+|[A-Za-z][A-Za-z0-9]*);/g;
94
+ const GML_ENTITY = /&(#\d+|#x[0-9a-fA-F]+|[A-Za-z][A-Za-z0-9]*);/g;
95
95
 
96
96
  /** The XML entities and the ISO-8859-1 HTML entities (U+00A0..U+00FF), which GML uses for characters above 127. */
97
97
  const GML_NAMED: ReadonlyMap<string, string> = (() => {
@@ -146,7 +146,7 @@ export function decodeGmlString(body: string, onUnknown?: (entity: string) => vo
146
146
  });
147
147
  }
148
148
 
149
- const DOT_NUMERAL = /^-?(\.[0-9]+|[0-9]+(\.[0-9]*)?)$/;
149
+ const DOT_NUMERAL = /^-?(\.\d+|\d+(\.\d*)?)$/;
150
150
  const DOT_KEYWORDS: ReadonlySet<string> = new Set(["node", "edge", "graph", "digraph", "subgraph", "strict"]);
151
151
 
152
152
  /**
package/src/common/ids.ts CHANGED
@@ -19,7 +19,7 @@ import { GraphFormatError, type IdCoercion, type NodeId } from "@graphty/graph-f
19
19
 
20
20
  import { ID_MERGED_CODE } from "./codes.js";
21
21
 
22
- const CANONICAL_INTEGER = /^-?(0|[1-9][0-9]*)$/;
22
+ const CANONICAL_INTEGER = /^-?(0|[1-9]\d*)$/;
23
23
 
24
24
  export { ID_MERGED_CODE };
25
25
 
@@ -44,7 +44,7 @@ import { trimTrailingZeros } from "./text.js";
44
44
  * A run of 16 digits not inside a fraction: the shortest integer literal that can exceed 2^53 (9007199254740992).
45
45
  * @category Plugin helpers
46
46
  */
47
- export const MAYBE_UNSAFE_INTEGER = /(?<![0-9.])[0-9]{16}/;
47
+ export const MAYBE_UNSAFE_INTEGER = /(?<![0-9.])\d{16}/;
48
48
 
49
49
  /**
50
50
  * A literal the double read for may not equal: an exponent of 15 or more (`9.007199254740993e15`,
@@ -80,7 +80,7 @@ const NONSTANDARD_TOKENS: readonly (readonly [string, number])[] = [
80
80
  ];
81
81
 
82
82
  /** A JSON integer literal (no fraction, no exponent, no leading zero), as CANONICAL_INTEGER in common/ids.ts. */
83
- const INTEGER_LITERAL = /^-?(0|[1-9][0-9]*)$/;
83
+ const INTEGER_LITERAL = /^-?(0|[1-9]\d*)$/;
84
84
 
85
85
  /** A JSON number literal, split into sign, integer digits, fraction digits and exponent. */
86
86
  const NUMBER_PARTS = /^(-?)(\d+)(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/;
@@ -1552,7 +1552,7 @@ interface CxId {
1552
1552
  readonly note: CxIdNote;
1553
1553
  }
1554
1554
 
1555
- const DECIMAL_INTEGER_TEXT = /^-?(0|[1-9][0-9]*)$/;
1555
+ const DECIMAL_INTEGER_TEXT = /^-?(0|[1-9]\d*)$/;
1556
1556
 
1557
1557
  /**
1558
1558
  * Apply the CX id rule (design section 1.0.2) to a parsed value: a safe integer is the id; an
@@ -49,9 +49,9 @@ export const TIME_TEXT_ROLE: ColumnRole = "timeText";
49
49
  export const TIME_TEXT_SUFFIX = ".text";
50
50
 
51
51
  const DATE_TIME =
52
- /^(-?[0-9]{4,})-([0-9]{2})-([0-9]{2})(?:[T ]([0-9]{2}):([0-9]{2})(?::([0-9]{2})(?:\.([0-9]{1,9}))?)?)?(Z|z|[+-][0-9]{2}(?::?[0-9]{2})?)?$/;
53
- const TIME = /^([0-9]{2}):([0-9]{2})(?::([0-9]{2})(?:\.([0-9]{1,9}))?)?(Z|z|[+-][0-9]{2}(?::?[0-9]{2})?)?$/;
54
- const NUMERIC = /^[+-]?([0-9]+(\.[0-9]*)?|\.[0-9]+)([eE][+-]?[0-9]+)?$/;
52
+ /^(-?\d{4,})-(\d{2})-(\d{2})(?:[T ](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,9}))?)?)?(Z|z|[+-]\d{2}(?::?\d{2})?)?$/;
53
+ const TIME = /^(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,9}))?)?(Z|z|[+-]\d{2}(?::?\d{2})?)?$/;
54
+ const NUMERIC = /^[+-]?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?$/;
55
55
 
56
56
  const MS_PER_MINUTE = 60_000;
57
57
  const MS_PER_DAY = 86_400_000;
@@ -18,8 +18,8 @@ import { type ColumnHandle, GraphFormatError, type GraphSink, INVALID_INDEX } fr
18
18
  import { PRECISION_CODE } from "./codes.js";
19
19
  import { type ImportReportBuilder } from "./report.js";
20
20
 
21
- const I32_TEXT = /^-?(0|[1-9][0-9]*)$/;
22
- const F64_TEXT = /^[+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([eE][+-]?[0-9]+)?$/;
21
+ const I32_TEXT = /^-?(0|[1-9]\d*)$/;
22
+ const F64_TEXT = /^[+-]?((0|[1-9]\d*)(\.\d*)?|\.\d+)([eE][+-]?\d+)?$/;
23
23
  const I32_MIN = -2147483648;
24
24
  const I32_MAX = 2147483647;
25
25
 
package/src/common/xml.ts CHANGED
@@ -133,10 +133,10 @@ export interface XmlRepairs {
133
133
  const BARE_AMPERSAND_LOOKAHEAD = 7;
134
134
 
135
135
  /** A numeric character reference at the start of a text: `&#123;` or `&#x1F;`. */
136
- const CHAR_REFERENCE = /^&#(?:[xX]([0-9a-fA-F]{1,6})|([0-9]{1,7}));/;
136
+ const CHAR_REFERENCE = /^&#(?:[xX]([0-9a-fA-F]{1,6})|(\d{1,7}));/;
137
137
 
138
138
  /** A numeric character reference at the end of a text. */
139
- const TRAILING_CHAR_REFERENCE = /&#(?:[xX]([0-9a-fA-F]{1,6})|([0-9]{1,7}));$/;
139
+ const TRAILING_CHAR_REFERENCE = /&#(?:[xX]([0-9a-fA-F]{1,6})|(\d{1,7}));$/;
140
140
 
141
141
  const NAMED_ENTITIES: Readonly<Record<string, string>> = {
142
142
  lt: "<",
@@ -542,7 +542,7 @@ function plan(snapshot: GraphSnapshot, common: ResolvedExportOptions): Plan {
542
542
  if (renamedName !== null) {
543
543
  note(
544
544
  LOSS.COLUMN_NAME_CHANGED,
545
- `node column "name" is written as the attribute "name#2": the label column "${label?.meta.name ?? ""}" is written as n, which reads back as "name"`,
545
+ `node column "name" is written as the attribute "name#2" and reads back as "name#2", because the label column "${label?.meta.name ?? ""}" is written as n and takes the name "name"`,
546
546
  "name",
547
547
  renamedName.length - renamedName.nullCount,
548
548
  );
@@ -471,8 +471,8 @@ const UNSET = Symbol("unset");
471
471
 
472
472
  const I32_MIN = -2147483648;
473
473
  const I32_MAX = 2147483647;
474
- const INTEGER_TEXT = /^-?[0-9]+$/;
475
- const DECIMAL_TEXT = /^-?([0-9]+(\.[0-9]*)?|\.[0-9]+)([eE][+-]?[0-9]+)?$/;
474
+ const INTEGER_TEXT = /^-?\d+$/;
475
+ const DECIMAL_TEXT = /^-?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?$/;
476
476
 
477
477
  /**
478
478
  * Whether a text is Cytoscape's null: the empty string or "null" in any case.
@@ -731,7 +731,7 @@ function aspect(doc: CxDocument, name: string): readonly Held[] {
731
731
  * @returns the bits
732
732
  */
733
733
  function inexactBits(text: string, keys: readonly string[], depth = 1): number {
734
- if (!/[0-9][.eE]/.test(text)) {
734
+ if (!/\d[.eE]/.test(text)) {
735
735
  return 0;
736
736
  }
737
737
  let bits = 0;
@@ -531,7 +531,7 @@ interface Cx2Document {
531
531
  * @returns the bits
532
532
  */
533
533
  function inexactBits(text: string, keys: readonly string[], depth = 1): number {
534
- if (!/[0-9][.eE]/.test(text)) {
534
+ if (!/\d[.eE]/.test(text)) {
535
535
  return 0;
536
536
  }
537
537
  let bits = 0;
@@ -189,7 +189,7 @@ const NODE_RESERVED: ReadonlySet<string> = new Set(["id"]);
189
189
  const EDGE_RESERVED: ReadonlySet<string> = new Set(["source", "target", "directed"]);
190
190
  const GRAPH_RESERVED: ReadonlySet<string> = new Set(["node", "edge", "directed", "multigraph"]);
191
191
  const TOP_RESERVED: ReadonlySet<string> = new Set(["graph"]);
192
- const NUMBER_TEXT = /^[+-]?(?:[0-9]+(?:\.[0-9]*)?|\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/;
192
+ const NUMBER_TEXT = /^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/;
193
193
 
194
194
  /** The resolved options of one export. */
195
195
  interface GmlExportPlan {
@@ -171,7 +171,7 @@ export const FLAG_TYPE_CODE = "E_GML_FLAG_TYPE";
171
171
  export const FLAG_VALUE_CODE = "W_GML_FLAG_VALUE";
172
172
 
173
173
  /** A flag written as a quoted integer, surrounding spaces allowed. */
174
- const QUOTED_INT = /^\s*[+-]?[0-9]+\s*$/;
174
+ const QUOTED_INT = /^\s*[+-]?\d+\s*$/;
175
175
  /**
176
176
  * A named entity in a string that is neither an XML nor an ISO-8859-1 HTML entity, or a numeric reference beyond
177
177
  * U+10FFFF; it is kept as written.
@@ -1896,7 +1896,7 @@ function describeValue(t: GmlTokens, v: number): string {
1896
1896
 
1897
1897
  const SNIFF_GRAPH_START = /^(?:\s|#[^\n]*\n)*graph\s*\[/;
1898
1898
  const SNIFF_GRAPH_ANYWHERE = /(?:^|\s)graph\s*\[/;
1899
- const SNIFF_KEY_START = /^(?:\s|#[^\n]*\n)*[A-Za-z_][0-9A-Za-z_]*\s+(?:"|[+-]?[0-9.]|\[)/;
1899
+ const SNIFF_KEY_START = /^(?:\s|#[^\n]*\n)*[A-Za-z_]\w*\s+(?:"|[+-]?[0-9.]|\[)/;
1900
1900
 
1901
1901
  /**
1902
1902
  * Confidence that a head of bytes is GML: a `graph [` opener, or key-value text with a `graph [`
@@ -94,10 +94,10 @@ export const SYNTAX_STRING_CODE = SYNTAX_CODE;
94
94
  */
95
95
  export const SYNTAX_BRACKET_CODE = SYNTAX_CODE;
96
96
 
97
- const KEY_TEXT = /^[A-Za-z_][0-9A-Za-z_]*$/;
98
- const STRICT_KEY_TEXT = /^[A-Za-z][0-9A-Za-z_]*$/;
99
- const INT_TEXT = /^[+-]?[0-9]+$/;
100
- const REAL_TEXT = /^[+-]?(?:(?:[0-9]+\.[0-9]*|\.[0-9]+)(?:[eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)$/;
97
+ const KEY_TEXT = /^[A-Za-z_]\w*$/;
98
+ const STRICT_KEY_TEXT = /^[A-Za-z]\w*$/;
99
+ const INT_TEXT = /^[+-]?\d+$/;
100
+ const REAL_TEXT = /^[+-]?(?:(?:\d+\.\d*|\.\d+)(?:[eE][+-]?\d+)?|\d+[eE][+-]?\d+)$/;
101
101
  const NON_FINITE_TEXT = /^[+-]?(?:inf|infinity|nan)$/i;
102
102
  const NON_FINITE_WORD = /^(?:inf|infinity|nan)$/i;
103
103
 
@@ -2605,7 +2605,7 @@ class GraphmlReader implements XmlHandler {
2605
2605
  * @returns the count, or null when absent or not a non-negative integer
2606
2606
  */
2607
2607
  function hint(text: string | undefined): number | null {
2608
- if (text === undefined || !/^[0-9]+$/.test(text)) {
2608
+ if (text === undefined || !/^\d+$/.test(text)) {
2609
2609
  return null;
2610
2610
  }
2611
2611
  const n = Number(text);
@@ -180,6 +180,8 @@ export const JSON_LOSS = Object.freeze({
180
180
  OBOGRAPHS_ID_CHANGED: OBOGRAPHS_LOSS.ID_CHANGED,
181
181
  /** Obographs: a property_value's xsd datatype has no place in basicPropertyValues and reads back unset. */
182
182
  OBOGRAPHS_DATATYPE_DROPPED: OBOGRAPHS_LOSS.DATATYPE_DROPPED,
183
+ /** Obographs: a graph without a node type column is written with CLASS nodes and reads back with a type column holding Term. */
184
+ OBOGRAPHS_TYPE_GAINED: OBOGRAPHS_LOSS.TYPE_GAINED,
183
185
  /** Obographs: a node column outside the OBO vocabulary reads back inside the property_value column. */
184
186
  COLUMN_AS_PROPERTY_VALUE: OBOGRAPHS_SHARED_LOSS.COLUMN_AS_PROPERTY_VALUE,
185
187
  /** Obographs: an edge without a relation is written with the pred is_a. */
@@ -1107,7 +1109,7 @@ function jgfIdNotes(
1107
1109
  * @returns true for canonical integer text below 2^32 - 1
1108
1110
  */
1109
1111
  function isArrayIndexKey(text: string): boolean {
1110
- return /^(0|[1-9][0-9]*)$/.test(text) && Number(text) < 4294967295;
1112
+ return /^(0|[1-9]\d*)$/.test(text) && Number(text) < 4294967295;
1111
1113
  }
1112
1114
 
1113
1115
  // ============================================================ writing
@@ -69,6 +69,8 @@ export const OBOGRAPHS_LOSS = Object.freeze({
69
69
  ID_CHANGED: "W_OBOGRAPHS_ID_CHANGED",
70
70
  /** A `property_value` with an xsd datatype: basicPropertyValues have no datatype, so it reads back without one. */
71
71
  DATATYPE_DROPPED: "W_OBOGRAPHS_DATATYPE_DROPPED",
72
+ /** A graph without a node `type` column is written with CLASS nodes and reads back with a `type` column holding Term. */
73
+ TYPE_GAINED: "W_OBOGRAPHS_TYPE_GAINED",
72
74
  });
73
75
 
74
76
  /**
@@ -668,6 +670,14 @@ class ObographsExport {
668
670
  const type = this.placed.get("type");
669
671
  const typedefs =
670
672
  type === undefined ? 0 : rows.filter((i) => type.isSet(i) && type.value(i) === "Typedef").length;
673
+ if (rows.length > 0 && snapshot.nodes.get("type") === null) {
674
+ note(
675
+ OBOGRAPHS_LOSS.TYPE_GAINED,
676
+ `${rows.length} node${plural(rows.length)} ${agree(rows.length, "is", "are")} written with the type CLASS and ${agree(rows.length, "reads", "read")} back with the type Term in a new node column "type"`,
677
+ null,
678
+ rows.length,
679
+ );
680
+ }
671
681
  if (typedefs > 0) {
672
682
  note(
673
683
  TYPEDEF_NODES_CODE,
@@ -109,6 +109,8 @@ export const OBO_LOSS = Object.freeze({
109
109
  ONTOLOGY_NAME: "W_OBO_ONTOLOGY_NAME",
110
110
  /** `[Typedef]` frames read back as nodes only under the importer's `typedefs: "nodes"`; by default they are metadata. */
111
111
  TYPEDEF_NODES: TYPEDEF_NODES_CODE,
112
+ /** A graph without a node `type` column is written as `[Term]` frames and reads back with a `type` column holding Term. */
113
+ TYPE_GAINED: "W_OBO_TYPE_GAINED",
112
114
  /** Edges are written in the frame of their source node, so they read back grouped by source, in node order. */
113
115
  EDGE_ORDER: "W_OBO_EDGE_ORDER",
114
116
  /**
@@ -1012,6 +1014,14 @@ function plan(snapshot: GraphSnapshot, options: (OboExportOptions & CommonExport
1012
1014
  }
1013
1015
  }
1014
1016
  const { kinds, type } = planKinds(snapshot, frameless);
1017
+ if (rows.length > 0 && !snapshot.nodes.has("type")) {
1018
+ note(
1019
+ OBO_LOSS.TYPE_GAINED,
1020
+ `${rows.length} node${plural(rows.length)} ${agree(rows.length, "is", "are")} written as [Term] frames and ${agree(rows.length, "reads", "read")} back with the type Term in a new node column "type"`,
1021
+ null,
1022
+ rows.length,
1023
+ );
1024
+ }
1015
1025
  const typedefNodes = rows.filter((i) => kinds[i] === "Typedef").length;
1016
1026
  if (typedefNodes > 0) {
1017
1027
  note(
@@ -125,6 +125,12 @@ export function splitTagValue(line: string): TagValue | null {
125
125
  return null;
126
126
  }
127
127
 
128
+ /** The characters stripComment() acts on. */
129
+ const COMMENT_MARKS = String.raw`\"!`;
130
+
131
+ /** The characters hasStrayBrace() acts on. */
132
+ const BRACE_MARKS = String.raw`\"[]{}`;
133
+
128
134
  /**
129
135
  * Strip the hidden comment: an unescaped `!` outside quotes that starts the value or follows
130
136
  * whitespace begins a comment running to the end of the line. A `!` glued to the text before it
@@ -137,22 +143,47 @@ export function splitTagValue(line: string): TagValue | null {
137
143
  */
138
144
  export function stripComment(rest: string): string {
139
145
  let quoted = false;
140
- for (let i = 0; i < rest.length; i++) {
146
+ const found = [-2, -2, -2];
147
+ let i = nextOf(rest, 0, COMMENT_MARKS, found);
148
+ while (i >= 0) {
141
149
  const ch = rest.charAt(i);
142
- if (ch === "\\") {
143
- i++;
144
- continue;
145
- }
146
150
  const atStart = i === 0 || rest.charAt(i - 1) === " " || rest.charAt(i - 1) === "\t";
147
151
  if (ch === '"' && (quoted || atStart)) {
148
152
  quoted = !quoted;
149
153
  } else if (ch === "!" && !quoted && atStart) {
150
154
  return rest.slice(0, i).trimEnd();
151
155
  }
156
+ // a backslash escapes the character after it
157
+ i = nextOf(rest, ch === "\\" ? i + 2 : i + 1, COMMENT_MARKS, found);
152
158
  }
153
159
  return rest.trimEnd();
154
160
  }
155
161
 
162
+ /**
163
+ * The index of the first of `marks` in `text` at or after `from`, or -1. Each mark is found by
164
+ * indexOf, so the plain text between marks is searched natively rather than one character at a
165
+ * time; `found` holds where each mark was last found (-2 before the first search, -1 when it does
166
+ * not occur again) and a mark is searched again only once `from` has passed it, so a whole scan
167
+ * reads the text once per mark.
168
+ * @param text - the text
169
+ * @param from - where to start
170
+ * @param marks - the characters to find
171
+ * @param found - per mark, its last index found; start with -2 for each
172
+ * @returns the index of the nearest mark, or -1
173
+ */
174
+ function nextOf(text: string, from: number, marks: string, found: number[]): number {
175
+ let nearest = -1;
176
+ for (let k = 0; k < marks.length; k++) {
177
+ if (found[k] !== -1 && found[k] < from) {
178
+ found[k] = text.indexOf(marks.charAt(k), from);
179
+ }
180
+ if (found[k] !== -1 && (nearest === -1 || found[k] < nearest)) {
181
+ nearest = found[k];
182
+ }
183
+ }
184
+ return nearest;
185
+ }
186
+
156
187
  /**
157
188
  * The qualifiers of a clause: name to value (a list when a name repeats).
158
189
  * @category Plugin helpers
@@ -541,11 +572,11 @@ export function parseXrefList(inner: string): Xref[] {
541
572
  export function hasStrayBrace(value: string): boolean {
542
573
  let quoted = false;
543
574
  let listed = false;
544
- for (let i = 0; i < value.length; i++) {
575
+ const found = [-2, -2, -2, -2, -2, -2];
576
+ let i = nextOf(value, 0, BRACE_MARKS, found);
577
+ while (i >= 0) {
545
578
  const ch = value.charAt(i);
546
- if (ch === "\\") {
547
- i++;
548
- } else if (ch === '"') {
579
+ if (ch === '"') {
549
580
  quoted = !quoted;
550
581
  } else if (!quoted && (ch === "[" || ch === "]")) {
551
582
  // inside an xref list a brace opens that xref's qualifiers (OBO 1.2)
@@ -553,6 +584,8 @@ export function hasStrayBrace(value: string): boolean {
553
584
  } else if (!quoted && !listed && (ch === "{" || ch === "}")) {
554
585
  return true;
555
586
  }
587
+ // a backslash escapes the character after it
588
+ i = nextOf(value, ch === "\\" ? i + 2 : i + 1, BRACE_MARKS, found);
556
589
  }
557
590
  return false;
558
591
  }
@@ -996,6 +996,8 @@ export const pajekExporter: GraphExporter<PajekExportOptions> = Object.freeze({
996
996
  for (const n of checkCapabilities(snapshot, CAPABILITIES, resolved, {
997
997
  roles: SLOT_ROLES,
998
998
  roleNames: ROLE_NAMES,
999
+ // the label slot is a vertex slot; an edge label is a parameter under its own name
1000
+ edgeRoleNames: {},
999
1001
  })) {
1000
1002
  if (n.column !== null && (n.code === LOSS.LIST || n.code === LOSS.DTYPE)) {
1001
1003
  const domain = n.message.startsWith("node column") ? "node" : "edge";
@@ -1003,10 +1005,6 @@ export const pajekExporter: GraphExporter<PajekExportOptions> = Object.freeze({
1003
1005
  continue;
1004
1006
  }
1005
1007
  }
1006
- if (n.code === LOSS.COLUMN_NAME_CHANGED && n.message.startsWith("edge column")) {
1007
- // the label slot is a vertex slot; an edge label is a parameter under its own name
1008
- continue;
1009
- }
1010
1008
  notes.push(n);
1011
1009
  }
1012
1010
  labelNotes(snapshot, nodePlan, notes);
@@ -366,10 +366,10 @@ function isI32(value: number): boolean {
366
366
  }
367
367
 
368
368
  /** A vertex number of an adjacency list: Pajek reads a negative one as its absolute value. */
369
- const LIST_VERTEX = /^-?[0-9]+$/;
369
+ const LIST_VERTEX = /^-?\d+$/;
370
370
 
371
371
  /** The relation prefix `k:` of a line in a line section. */
372
- const RELATION_PREFIX = /^([0-9]+):$/;
372
+ const RELATION_PREFIX = /^(\d+):$/;
373
373
 
374
374
  /**
375
375
  * One import call's state machine: the sections, the vertex range, the columns declared so far
@@ -143,9 +143,8 @@ const SECTION_KINDS: ReadonlyMap<string, SectionKind> = new Map([
143
143
  ["vector", "vector"],
144
144
  ]);
145
145
 
146
- const INTEGER_TEXT = /^[+-]?[0-9]+$/;
147
- const TIME_POINT =
148
- /^(\*|[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?)(?:-(\*|[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?))?$/;
146
+ const INTEGER_TEXT = /^[+-]?\d+$/;
147
+ const TIME_POINT = /^(\*|[+-]?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)(?:-(\*|[+-]?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?))?$/;
149
148
 
150
149
  /**
151
150
  * What tokenize() noticed in a line beyond its tokens, for the importer to report.
@@ -218,9 +217,19 @@ class LineTokens {
218
217
  this.endToken();
219
218
  return i + 1;
220
219
  }
221
- this.current += this.line[i];
220
+ // the whole run up to the next quote (or blank, outside quotes) in one slice: appending one
221
+ // character at a time builds a rope node per character, and a 50 MB label spent seconds in GC
222
+ let end = i + 1;
223
+ while (end < this.line.length) {
224
+ const d = this.line.charCodeAt(end); // NOSONAR(S7758): reads UTF-16 code units on purpose
225
+ if (d === 34 || (!this.quoted && isBlank(d))) {
226
+ break;
227
+ }
228
+ end++;
229
+ }
230
+ this.current += this.line.slice(i, end);
222
231
  this.started = true;
223
- return i + 1;
232
+ return end;
224
233
  }
225
234
 
226
235
  /**
@@ -112,7 +112,7 @@ export function widenScalar(a: ScalarKind, b: ScalarKind): ScalarKind {
112
112
  return "long";
113
113
  }
114
114
 
115
- const INTEGER_TEXT = /^[+-]?[0-9]+$/;
115
+ const INTEGER_TEXT = /^[+-]?\d+$/;
116
116
 
117
117
  /** Java's Double.valueOf forms that Cytoscape writes: no hex, no `d` / `f` suffix. */
118
118
  const REAL_TEXT = /^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/;