@graphty/graph-io 0.3.40 → 0.3.41

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 (189) hide show
  1. package/dist/chunks/{choose-CS3fvGT1.js → choose-CwFQamH9.js} +2 -2
  2. package/dist/chunks/{choose-CS3fvGT1.js.map → choose-CwFQamH9.js.map} +1 -1
  3. package/dist/chunks/{constants-DqKZT6cH.js → constants-Cf4Nn6tw.js} +2 -2
  4. package/dist/chunks/{constants-DqKZT6cH.js.map → constants-Cf4Nn6tw.js.map} +1 -1
  5. package/dist/chunks/{escape-BJRLd3vJ.js → escape-DBb8zuNE.js} +2 -2
  6. package/dist/chunks/{escape-BJRLd3vJ.js.map → escape-DBb8zuNE.js.map} +1 -1
  7. package/dist/chunks/{export-B-aVCwyG.js → export-DD3Lvw-F.js} +173 -116
  8. package/dist/chunks/export-DD3Lvw-F.js.map +1 -0
  9. package/dist/chunks/{exporter-Bcp-l4Bo.js → exporter-BqtmlxNr.js} +545 -459
  10. package/dist/chunks/exporter-BqtmlxNr.js.map +1 -0
  11. package/dist/chunks/{exporter-6ocL_9x_.js → exporter-CS35R6Fg.js} +4 -4
  12. package/dist/chunks/{exporter-6ocL_9x_.js.map → exporter-CS35R6Fg.js.map} +1 -1
  13. package/dist/chunks/{exporter-BVXnV9-9.js → exporter-D8r1N2dU.js} +28 -16
  14. package/dist/chunks/exporter-D8r1N2dU.js.map +1 -0
  15. package/dist/chunks/{exporter-SFYkDzD0.js → exporter-NMplSnYn.js} +23 -20
  16. package/dist/chunks/{exporter-SFYkDzD0.js.map → exporter-NMplSnYn.js.map} +1 -1
  17. package/dist/chunks/{importer-CPqnIY8m.js → importer-BKC7AmCA.js} +42 -29
  18. package/dist/chunks/importer-BKC7AmCA.js.map +1 -0
  19. package/dist/chunks/{importer-D_srHyj6.js → importer-BdWHmlmG.js} +4 -4
  20. package/dist/chunks/{importer-D_srHyj6.js.map → importer-BdWHmlmG.js.map} +1 -1
  21. package/dist/chunks/{importer-AjwOJrn2.js → importer-BfbzWk6k.js} +202 -181
  22. package/dist/chunks/importer-BfbzWk6k.js.map +1 -0
  23. package/dist/chunks/{importer-BpuS3J8C.js → importer-BmaZcskq.js} +73 -60
  24. package/dist/chunks/importer-BmaZcskq.js.map +1 -0
  25. package/dist/chunks/{importer-DEp_fYjf.js → importer-DviEsHy4.js} +92 -64
  26. package/dist/chunks/importer-DviEsHy4.js.map +1 -0
  27. package/dist/chunks/{importer-DcKB97kW.js → importer-S-abxJHn.js} +5 -5
  28. package/dist/chunks/{importer-DcKB97kW.js.map → importer-S-abxJHn.js.map} +1 -1
  29. package/dist/chunks/{importer-BJlGAOht.js → importer-r29cWnEf.js} +3 -3
  30. package/dist/chunks/{importer-BJlGAOht.js.map → importer-r29cWnEf.js.map} +1 -1
  31. package/dist/chunks/{json-elements-DpO6AXIc.js → json-elements-DdF-etPT.js} +3 -3
  32. package/dist/chunks/{json-elements-DpO6AXIc.js.map → json-elements-DdF-etPT.js.map} +1 -1
  33. package/dist/chunks/{ontology-export-50L9DOV4.js → ontology-export-BC0zyPhj.js} +2 -2
  34. package/dist/chunks/{ontology-export-50L9DOV4.js.map → ontology-export-BC0zyPhj.js.map} +1 -1
  35. package/dist/chunks/{records-r3SFHz11.js → records-Uc3LkABx.js} +15 -12
  36. package/dist/chunks/records-Uc3LkABx.js.map +1 -0
  37. package/dist/chunks/{text-Bjfa1xYL.js → text-Bh9SaAob.js} +20 -11
  38. package/dist/chunks/text-Bh9SaAob.js.map +1 -0
  39. package/dist/csv.js +67 -49
  40. package/dist/csv.js.map +1 -1
  41. package/dist/cx.js +1 -1
  42. package/dist/cx2.js +2 -2
  43. package/dist/cys.js +1 -1
  44. package/dist/dot.js +1 -1
  45. package/dist/gexf.js +195 -97
  46. package/dist/gexf.js.map +1 -1
  47. package/dist/gml.js +170 -149
  48. package/dist/gml.js.map +1 -1
  49. package/dist/graph-io.js +26 -26
  50. package/dist/graphml.js +2 -2
  51. package/dist/json.js +1 -1
  52. package/dist/neo4j.js +103 -65
  53. package/dist/neo4j.js.map +1 -1
  54. package/dist/obo.js +1 -1
  55. package/dist/pajek.js +1 -1
  56. package/dist/src/common/attributes.d.ts.map +1 -1
  57. package/dist/src/common/attributes.js +34 -9
  58. package/dist/src/common/attributes.js.map +1 -1
  59. package/dist/src/common/input.d.ts.map +1 -1
  60. package/dist/src/common/input.js +180 -102
  61. package/dist/src/common/input.js.map +1 -1
  62. package/dist/src/common/text.d.ts +7 -0
  63. package/dist/src/common/text.d.ts.map +1 -1
  64. package/dist/src/common/text.js +15 -7
  65. package/dist/src/common/text.js.map +1 -1
  66. package/dist/src/common/zip.d.ts.map +1 -1
  67. package/dist/src/common/zip.js +36 -19
  68. package/dist/src/common/zip.js.map +1 -1
  69. package/dist/src/formats/csv/exporter.d.ts.map +1 -1
  70. package/dist/src/formats/csv/exporter.js +77 -25
  71. package/dist/src/formats/csv/exporter.js.map +1 -1
  72. package/dist/src/formats/csv/importer.d.ts.map +1 -1
  73. package/dist/src/formats/csv/importer.js +16 -6
  74. package/dist/src/formats/csv/importer.js.map +1 -1
  75. package/dist/src/formats/csv/records.d.ts.map +1 -1
  76. package/dist/src/formats/csv/records.js +18 -10
  77. package/dist/src/formats/csv/records.js.map +1 -1
  78. package/dist/src/formats/cys/tables.d.ts.map +1 -1
  79. package/dist/src/formats/cys/tables.js +11 -8
  80. package/dist/src/formats/cys/tables.js.map +1 -1
  81. package/dist/src/formats/gexf/exporter.d.ts.map +1 -1
  82. package/dist/src/formats/gexf/exporter.js +65 -37
  83. package/dist/src/formats/gexf/exporter.js.map +1 -1
  84. package/dist/src/formats/gexf/importer.d.ts.map +1 -1
  85. package/dist/src/formats/gexf/importer.js +138 -50
  86. package/dist/src/formats/gexf/importer.js.map +1 -1
  87. package/dist/src/formats/gml/exporter.d.ts.map +1 -1
  88. package/dist/src/formats/gml/exporter.js +51 -35
  89. package/dist/src/formats/gml/exporter.js.map +1 -1
  90. package/dist/src/formats/gml/importer.d.ts.map +1 -1
  91. package/dist/src/formats/gml/importer.js +103 -58
  92. package/dist/src/formats/gml/importer.js.map +1 -1
  93. package/dist/src/formats/gml/syntax.d.ts.map +1 -1
  94. package/dist/src/formats/gml/syntax.js +17 -8
  95. package/dist/src/formats/gml/syntax.js.map +1 -1
  96. package/dist/src/formats/graphml/exporter.d.ts.map +1 -1
  97. package/dist/src/formats/graphml/exporter.js +34 -24
  98. package/dist/src/formats/graphml/exporter.js.map +1 -1
  99. package/dist/src/formats/graphml/importer.d.ts.map +1 -1
  100. package/dist/src/formats/graphml/importer.js +17 -13
  101. package/dist/src/formats/graphml/importer.js.map +1 -1
  102. package/dist/src/formats/graphml/tree.js +23 -14
  103. package/dist/src/formats/graphml/tree.js.map +1 -1
  104. package/dist/src/formats/graphml/yfiles.d.ts.map +1 -1
  105. package/dist/src/formats/graphml/yfiles.js +22 -10
  106. package/dist/src/formats/graphml/yfiles.js.map +1 -1
  107. package/dist/src/formats/json/exporter.d.ts.map +1 -1
  108. package/dist/src/formats/json/exporter.js +38 -21
  109. package/dist/src/formats/json/exporter.js.map +1 -1
  110. package/dist/src/formats/json/importer.d.ts.map +1 -1
  111. package/dist/src/formats/json/importer.js +536 -343
  112. package/dist/src/formats/json/importer.js.map +1 -1
  113. package/dist/src/formats/json/obographs.js +29 -17
  114. package/dist/src/formats/json/obographs.js.map +1 -1
  115. package/dist/src/formats/neo4j/exporter.d.ts.map +1 -1
  116. package/dist/src/formats/neo4j/exporter.js +73 -43
  117. package/dist/src/formats/neo4j/exporter.js.map +1 -1
  118. package/dist/src/formats/neo4j/header.d.ts.map +1 -1
  119. package/dist/src/formats/neo4j/header.js +37 -16
  120. package/dist/src/formats/neo4j/header.js.map +1 -1
  121. package/dist/src/formats/neo4j/importer.d.ts.map +1 -1
  122. package/dist/src/formats/neo4j/importer.js +21 -11
  123. package/dist/src/formats/neo4j/importer.js.map +1 -1
  124. package/dist/src/formats/obo/exporter.d.ts.map +1 -1
  125. package/dist/src/formats/obo/exporter.js +18 -7
  126. package/dist/src/formats/obo/exporter.js.map +1 -1
  127. package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
  128. package/dist/src/formats/pajek/exporter.js +142 -73
  129. package/dist/src/formats/pajek/exporter.js.map +1 -1
  130. package/dist/src/formats/pajek/importer.d.ts.map +1 -1
  131. package/dist/src/formats/pajek/importer.js +26 -15
  132. package/dist/src/formats/pajek/importer.js.map +1 -1
  133. package/dist/src/formats/pajek/syntax.d.ts.map +1 -1
  134. package/dist/src/formats/pajek/syntax.js +85 -58
  135. package/dist/src/formats/pajek/syntax.js.map +1 -1
  136. package/dist/src/formats/xgmml/emit.d.ts +7 -0
  137. package/dist/src/formats/xgmml/emit.d.ts.map +1 -1
  138. package/dist/src/formats/xgmml/emit.js +79 -40
  139. package/dist/src/formats/xgmml/emit.js.map +1 -1
  140. package/dist/src/formats/xgmml/exporter.d.ts.map +1 -1
  141. package/dist/src/formats/xgmml/exporter.js +38 -12
  142. package/dist/src/formats/xgmml/exporter.js.map +1 -1
  143. package/dist/src/formats/xgmml/importer.d.ts.map +1 -1
  144. package/dist/src/formats/xgmml/importer.js +38 -18
  145. package/dist/src/formats/xgmml/importer.js.map +1 -1
  146. package/dist/src/sniff.js +109 -57
  147. package/dist/src/sniff.js.map +1 -1
  148. package/dist/xgmml.js +2 -2
  149. package/package.json +2 -2
  150. package/src/common/attributes.ts +59 -19
  151. package/src/common/input.ts +216 -102
  152. package/src/common/text.ts +24 -15
  153. package/src/common/zip.ts +47 -18
  154. package/src/formats/csv/exporter.ts +103 -39
  155. package/src/formats/csv/importer.ts +17 -6
  156. package/src/formats/csv/records.ts +19 -10
  157. package/src/formats/cys/tables.ts +11 -10
  158. package/src/formats/gexf/exporter.ts +67 -36
  159. package/src/formats/gexf/importer.ts +173 -63
  160. package/src/formats/gml/exporter.ts +78 -82
  161. package/src/formats/gml/importer.ts +119 -68
  162. package/src/formats/gml/syntax.ts +18 -8
  163. package/src/formats/graphml/exporter.ts +44 -24
  164. package/src/formats/graphml/importer.ts +18 -11
  165. package/src/formats/graphml/tree.ts +22 -12
  166. package/src/formats/graphml/yfiles.ts +23 -10
  167. package/src/formats/json/exporter.ts +40 -21
  168. package/src/formats/json/importer.ts +701 -385
  169. package/src/formats/json/obographs.ts +35 -15
  170. package/src/formats/neo4j/exporter.ts +79 -41
  171. package/src/formats/neo4j/header.ts +50 -16
  172. package/src/formats/neo4j/importer.ts +21 -10
  173. package/src/formats/obo/exporter.ts +34 -17
  174. package/src/formats/pajek/exporter.ts +180 -117
  175. package/src/formats/pajek/importer.ts +27 -15
  176. package/src/formats/pajek/syntax.ts +99 -58
  177. package/src/formats/xgmml/emit.ts +88 -40
  178. package/src/formats/xgmml/exporter.ts +40 -12
  179. package/src/formats/xgmml/importer.ts +45 -23
  180. package/src/sniff.ts +115 -59
  181. package/dist/chunks/export-B-aVCwyG.js.map +0 -1
  182. package/dist/chunks/exporter-BVXnV9-9.js.map +0 -1
  183. package/dist/chunks/exporter-Bcp-l4Bo.js.map +0 -1
  184. package/dist/chunks/importer-AjwOJrn2.js.map +0 -1
  185. package/dist/chunks/importer-BpuS3J8C.js.map +0 -1
  186. package/dist/chunks/importer-CPqnIY8m.js.map +0 -1
  187. package/dist/chunks/importer-DEp_fYjf.js.map +0 -1
  188. package/dist/chunks/records-r3SFHz11.js.map +0 -1
  189. package/dist/chunks/text-Bjfa1xYL.js.map +0 -1
package/dist/obo.js CHANGED
@@ -1,4 +1,4 @@
1
- import { O, a, b, o, c } from "./chunks/exporter-SFYkDzD0.js";
1
+ import { O, a, b, o, c } from "./chunks/exporter-NMplSnYn.js";
2
2
  export {
3
3
  O as OBO_CAPABILITIES,
4
4
  a as OBO_ISSUE,
package/dist/pajek.js CHANGED
@@ -1,4 +1,4 @@
1
- import { P, a, p, b } from "./chunks/importer-AjwOJrn2.js";
1
+ import { P, a, p, b } from "./chunks/importer-BfbzWk6k.js";
2
2
  export {
3
3
  P as PAJEK_ISSUE,
4
4
  a as PAJEK_LOSS,
@@ -1 +1 @@
1
- {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../src/common/attributes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../src/common/attributes.ts"],"names":[],"mappings":"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"}
@@ -210,19 +210,12 @@ export function declareResolved(sink, domain, decl, report, where) {
210
210
  throw err;
211
211
  }
212
212
  if (err.code === "E_COLUMN_EXISTS" && !renamed) {
213
- const taken = takenIn(sink, domain);
214
- const id = current.origin?.id ?? null;
215
- const name = uniqueColumnName(current.name, id, taken);
216
- report.warning("coercion", COLUMN_RENAMED_CODE, `${domain} column "${current.name}" renamed to "${name}": the sink already holds that name with another shape`, { ...where, element: where?.element ?? current.name });
217
- current = { ...current, name };
213
+ current = renameColumn(sink, domain, current, report, where);
218
214
  renamed = true;
219
215
  continue;
220
216
  }
221
217
  if (err.code === "E_DUPLICATE_ROLE" && current.role !== undefined && !roleDropped) {
222
- const holder = typeof err.details.holder === "string" ? err.details.holder : "another column";
223
- report.warning("coercion", ROLE_TAKEN_CODE, `${domain} column "${current.name}" loses the ${current.role} role: "${holder}" already holds it`, { ...where, element: where?.element ?? current.name });
224
- const { role: _role, ...withoutRole } = current;
225
- current = withoutRole;
218
+ current = dropRole(err, domain, current, current.role, report, where);
226
219
  roleDropped = true;
227
220
  continue;
228
221
  }
@@ -230,6 +223,38 @@ export function declareResolved(sink, domain, decl, report, where) {
230
223
  }
231
224
  }
232
225
  }
226
+ /**
227
+ * The declaration under a name the sink does not hold yet, recording W_COLUMN_RENAMED.
228
+ * @param sink - the sink
229
+ * @param domain - node or edge
230
+ * @param decl - the declaration whose name clashed
231
+ * @param report - the report
232
+ * @param where - the line and element, when known
233
+ * @returns the renamed declaration
234
+ */
235
+ function renameColumn(sink, domain, decl, report, where) {
236
+ const taken = takenIn(sink, domain);
237
+ const id = decl.origin?.id ?? null;
238
+ const name = uniqueColumnName(decl.name, id, taken);
239
+ report.warning("coercion", COLUMN_RENAMED_CODE, `${domain} column "${decl.name}" renamed to "${name}": the sink already holds that name with another shape`, { ...where, element: where?.element ?? decl.name });
240
+ return { ...decl, name };
241
+ }
242
+ /**
243
+ * The declaration without the role another column holds, recording W_ROLE_TAKEN.
244
+ * @param err - the sink's E_DUPLICATE_ROLE error
245
+ * @param domain - node or edge
246
+ * @param decl - the declaration whose role clashed
247
+ * @param role - its role
248
+ * @param report - the report
249
+ * @param where - the line and element, when known
250
+ * @returns the declaration without its role
251
+ */
252
+ function dropRole(err, domain, decl, role, report, where) {
253
+ const holder = typeof err.details.holder === "string" ? err.details.holder : "another column";
254
+ report.warning("coercion", ROLE_TAKEN_CODE, `${domain} column "${decl.name}" loses the ${role} role: "${holder}" already holds it`, { ...where, element: where?.element ?? decl.name });
255
+ const { role: _role, ...withoutRole } = decl;
256
+ return withoutRole;
257
+ }
233
258
  /**
234
259
  * Declare the companion text column of a temporal column. A table holds at
235
260
  * most one column per role, so when another companion already carries `timeText` this one is
@@ -1 +1 @@
1
- {"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../../src/common/attributes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../../src/common/attributes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/common/input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/common/input.ts"],"names":[],"mappings":"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"}
@@ -1018,132 +1018,210 @@ function reportTextEncoding(report, encoding) {
1018
1018
  export async function* textChunks(rawInput, report, options = {}) {
1019
1019
  const input = normalizeInput(rawInput);
1020
1020
  const signal = options.signal ?? null;
1021
- const onProgress = options.onProgress ?? null;
1022
1021
  const filter = new TextFilter(report, options);
1023
1022
  throwIfAborted(signal);
1024
1023
  if (typeof input === "string") {
1025
1024
  reportTextEncoding(report, options.encoding);
1026
- const total = onProgress === null ? 0 : utf8Length(input);
1027
- let done = 0;
1028
- let start = 0;
1029
- while (start < input.length) {
1030
- throwIfAborted(signal);
1031
- let end = Math.min(start + DECODE_SLICE, input.length);
1032
- const highSurrogate = (input.charCodeAt(end - 1) & 0xfc00) === 0xd800; // NOSONAR(S7758): reads UTF-16 code units on purpose
1033
- if (end < input.length && highSurrogate) {
1034
- end++; // never split a surrogate pair
1035
- }
1036
- const piece = start === 0 && end === input.length ? input : input.slice(start, end);
1037
- start = end;
1038
- const text = filter.push(piece);
1039
- if (text.length > 0) {
1040
- yield text;
1041
- }
1042
- if (onProgress !== null) {
1043
- done += utf8Length(piece);
1044
- onProgress(done, total);
1045
- }
1046
- }
1047
- if (input.length === 0) {
1048
- onProgress?.(0, 0);
1049
- }
1050
- filter.end();
1025
+ yield* stringTextChunks(input, filter, options);
1051
1026
  return;
1052
1027
  }
1053
1028
  const decoder = new ByteDecoder(report, options);
1054
- const headBytes = Math.max(options.declarationBytes ?? HEAD_BYTES, BOM_BYTES);
1055
1029
  if (input instanceof Uint8Array) {
1056
- const length = input.byteLength;
1057
- decoder.start(input.subarray(0, headBytes));
1058
- for (let offset = 0; offset < length; offset += DECODE_SLICE) {
1059
- throwIfAborted(signal);
1060
- if (input.byteLength !== length) {
1061
- throw new GraphFormatError("E_UNSUPPORTED", "the input's buffer was detached (transferred) or resized during the import", { reason: "detached" });
1062
- }
1063
- const slice = input.subarray(offset, Math.min(offset + DECODE_SLICE, length));
1064
- const text = filter.push(decoder.decode(slice, offset + DECODE_SLICE < length));
1065
- if (text.length > 0) {
1066
- yield text;
1067
- }
1068
- onProgress?.(Math.min(offset + DECODE_SLICE, length), length);
1069
- }
1070
- if (length === 0) {
1071
- onProgress?.(0, 0);
1072
- }
1073
- filter.end();
1030
+ yield* byteTextChunks(input, filter, decoder, options);
1074
1031
  return;
1075
1032
  }
1076
- // the first bytes of a stream are held back until the BOM check (and the declaration check,
1077
- // when the format has one) can see enough of them, or the input ended, or text arrived, so a
1078
- // BOM or a declaration split across small chunks is still seen
1079
- const needed = options.declaredEncoding === undefined ? BOM_BYTES : headBytes;
1033
+ // the stream's loop stays here rather than in a delegated generator: a yield* layer costs
1034
+ // time on every chunk, and a stream may arrive in many small ones
1035
+ const stream = new StreamText(filter, decoder, options);
1036
+ for await (const chunk of isReadableStream(input) ? streamChunks(input, signal) : input) {
1037
+ throwIfAborted(signal);
1038
+ const text = stream.push(chunk);
1039
+ if (text.length > 0) {
1040
+ yield text;
1041
+ }
1042
+ options.onProgress?.(stream.done);
1043
+ }
1044
+ const tail = stream.end();
1045
+ if (tail.length > 0) {
1046
+ yield tail;
1047
+ }
1048
+ filter.end();
1049
+ options.onProgress?.(stream.done, stream.done);
1050
+ }
1051
+ /**
1052
+ * The end of the slice of a string input that starts at start: DECODE_SLICE code units, one more
1053
+ * when the slice would end between the two halves of a surrogate pair.
1054
+ * @param input - the string
1055
+ * @param start - where the slice starts
1056
+ * @returns where it ends
1057
+ */
1058
+ function stringSliceEnd(input, start) {
1059
+ const end = Math.min(start + DECODE_SLICE, input.length);
1060
+ const highSurrogate = (input.charCodeAt(end - 1) & 0xfc00) === 0xd800; // NOSONAR(S7758): reads UTF-16 code units on purpose
1061
+ return end < input.length && highSurrogate ? end + 1 : end;
1062
+ }
1063
+ /**
1064
+ * textChunks() of a string input: slices of it, through the text filter.
1065
+ * @param input - the string
1066
+ * @param filter - the text checks
1067
+ * @param options - cancellation and progress
1068
+ * @yields the filtered slices
1069
+ * @returns nothing
1070
+ */
1071
+ function* stringTextChunks(input, filter, options) {
1072
+ const signal = options.signal ?? null;
1073
+ const onProgress = options.onProgress ?? null;
1074
+ const total = onProgress === null ? 0 : utf8Length(input);
1080
1075
  let done = 0;
1081
- let head = [];
1082
- let headLength = 0;
1083
- const flushHead = (stream) => {
1084
- const bytes = concatBytes(head);
1085
- head = [];
1086
- headLength = 0;
1087
- decoder.start(bytes.subarray(0, headBytes));
1088
- return decoder.decode(bytes, stream);
1089
- };
1090
- const chunks = isReadableStream(input) ? streamChunks(input, signal) : input;
1091
- for await (const chunk of chunks) {
1076
+ let start = 0;
1077
+ while (start < input.length) {
1092
1078
  throwIfAborted(signal);
1093
- let text;
1094
- const bytes = typeof chunk === "string" ? null : asBytes(chunk);
1095
- if (typeof chunk === "string") {
1096
- // finish any byte sequence still pending in the decoder before switching to text; the
1097
- // BOM and declaration checks apply to the start of the input only, so bytes after text
1098
- // are never taken for a BOM
1099
- let pending = "";
1100
- if (headLength > 0) {
1101
- pending = decoder.flushBeforeText(() => flushHead(false));
1102
- }
1103
- else if (decoder.started) {
1104
- pending = decoder.flushBeforeText(() => decoder.decode(new Uint8Array(0), false));
1105
- }
1106
- else {
1107
- decoder.start(new Uint8Array(0));
1108
- }
1109
- text = filter.push(pending + chunk);
1110
- done += onProgress === null ? 0 : utf8Length(chunk);
1079
+ const end = stringSliceEnd(input, start);
1080
+ const piece = start === 0 && end === input.length ? input : input.slice(start, end);
1081
+ start = end;
1082
+ const text = filter.push(piece);
1083
+ if (text.length > 0) {
1084
+ yield text;
1111
1085
  }
1112
- else if (bytes !== null) {
1113
- done += bytes.byteLength;
1114
- if (decoder.started) {
1115
- text = filter.push(decoder.decode(bytes, true));
1116
- }
1117
- else {
1118
- head.push(bytes);
1119
- headLength += bytes.byteLength;
1120
- text = headLength >= needed ? filter.push(flushHead(true)) : "";
1121
- }
1086
+ if (onProgress !== null) {
1087
+ done += utf8Length(piece);
1088
+ onProgress(done, total);
1122
1089
  }
1123
- else {
1090
+ }
1091
+ if (input.length === 0) {
1092
+ onProgress?.(0, 0);
1093
+ }
1094
+ filter.end();
1095
+ }
1096
+ /**
1097
+ * textChunks() of a Uint8Array input: slices of it, decoded, through the text filter.
1098
+ * @param input - the bytes
1099
+ * @param filter - the text checks
1100
+ * @param decoder - the byte decoder
1101
+ * @param options - cancellation, progress and the declaration size
1102
+ * @yields the decoded, filtered slices
1103
+ * @returns nothing
1104
+ */
1105
+ function* byteTextChunks(input, filter, decoder, options) {
1106
+ const signal = options.signal ?? null;
1107
+ const length = input.byteLength;
1108
+ decoder.start(input.subarray(0, headByteCount(options)));
1109
+ for (let offset = 0; offset < length; offset += DECODE_SLICE) {
1110
+ throwIfAborted(signal);
1111
+ if (input.byteLength !== length) {
1112
+ throw new GraphFormatError("E_UNSUPPORTED", "the input's buffer was detached (transferred) or resized during the import", { reason: "detached" });
1113
+ }
1114
+ const slice = input.subarray(offset, Math.min(offset + DECODE_SLICE, length));
1115
+ const text = filter.push(decoder.decode(slice, offset + DECODE_SLICE < length));
1116
+ if (text.length > 0) {
1117
+ yield text;
1118
+ }
1119
+ options.onProgress?.(Math.min(offset + DECODE_SLICE, length), length);
1120
+ }
1121
+ if (length === 0) {
1122
+ options.onProgress?.(0, 0);
1123
+ }
1124
+ filter.end();
1125
+ }
1126
+ /**
1127
+ * How many leading bytes the encoding is chosen from: the format's declaration size, at least a BOM.
1128
+ * @param options - the declaration size
1129
+ * @returns the byte count
1130
+ */
1131
+ function headByteCount(options) {
1132
+ return Math.max(options.declarationBytes ?? HEAD_BYTES, BOM_BYTES);
1133
+ }
1134
+ /**
1135
+ * The chunks of a stream input (a ReadableStream or an async iterable of strings and bytes) turned
1136
+ * into filtered text. The first bytes are held back until the BOM check (and the declaration
1137
+ * check, when the format has one) can see enough of them, or the input ended, or text arrived, so
1138
+ * a BOM or a declaration split across small chunks is still seen.
1139
+ */
1140
+ class StreamText {
1141
+ /**
1142
+ * Create the reader of one stream input.
1143
+ * @param filter - the text checks
1144
+ * @param decoder - the byte decoder
1145
+ * @param options - progress, the declaration reader and its size
1146
+ */
1147
+ constructor(filter, decoder, options) {
1148
+ this.filter = filter;
1149
+ this.decoder = decoder;
1150
+ /** Bytes read so far (text counted as UTF-8 when progress is reported), for progress. */
1151
+ this.done = 0;
1152
+ this.head = [];
1153
+ this.headLength = 0;
1154
+ this.headBytes = headByteCount(options);
1155
+ this.needed = options.declaredEncoding === undefined ? BOM_BYTES : this.headBytes;
1156
+ this.counting = (options.onProgress ?? null) !== null;
1157
+ }
1158
+ /**
1159
+ * Read the next chunk.
1160
+ * @param chunk - a string or a Uint8Array (anything else is E_UNSUPPORTED)
1161
+ * @returns its filtered text; empty while bytes are held back
1162
+ */
1163
+ push(chunk) {
1164
+ if (typeof chunk === "string") {
1165
+ this.done += this.counting ? utf8Length(chunk) : 0;
1166
+ return this.filter.push(this.beforeText() + chunk);
1167
+ }
1168
+ const bytes = asBytes(chunk);
1169
+ if (bytes === null) {
1124
1170
  throw new GraphFormatError("E_UNSUPPORTED", "an input chunk must be a string or a Uint8Array", {
1125
1171
  reason: "chunk type",
1126
1172
  found: typeof chunk,
1127
1173
  });
1128
1174
  }
1129
- if (text.length > 0) {
1130
- yield text;
1175
+ this.done += bytes.byteLength;
1176
+ if (this.decoder.started) {
1177
+ return this.filter.push(this.decoder.decode(bytes, true));
1131
1178
  }
1132
- onProgress?.(done);
1179
+ this.head.push(bytes);
1180
+ this.headLength += bytes.byteLength;
1181
+ return this.headLength >= this.needed ? this.filter.push(this.flushHead(true)) : "";
1133
1182
  }
1134
- let tail = "";
1135
- if (headLength > 0) {
1136
- tail = flushHead(false);
1183
+ /**
1184
+ * The input ended: the filtered text of whatever is still held or pending.
1185
+ * @returns the text
1186
+ */
1187
+ end() {
1188
+ let tail = "";
1189
+ if (this.headLength > 0) {
1190
+ tail = this.flushHead(false);
1191
+ }
1192
+ else if (this.decoder.started) {
1193
+ tail = this.decoder.decode(new Uint8Array(0), false);
1194
+ }
1195
+ return this.filter.push(tail);
1137
1196
  }
1138
- else if (decoder.started) {
1139
- tail = decoder.decode(new Uint8Array(0), false);
1197
+ /**
1198
+ * Start the decoder on the held bytes and decode them.
1199
+ * @param stream - whether more bytes follow
1200
+ * @returns their text
1201
+ */
1202
+ flushHead(stream) {
1203
+ const bytes = concatBytes(this.head);
1204
+ this.head = [];
1205
+ this.headLength = 0;
1206
+ this.decoder.start(bytes.subarray(0, this.headBytes));
1207
+ return this.decoder.decode(bytes, stream);
1140
1208
  }
1141
- tail = filter.push(tail);
1142
- if (tail.length > 0) {
1143
- yield tail;
1209
+ /**
1210
+ * A text chunk follows: finish any byte sequence still pending in the decoder before switching
1211
+ * to text. The BOM and declaration checks apply to the start of the input only, so bytes after
1212
+ * text are never taken for a BOM.
1213
+ * @returns the text of the pending bytes
1214
+ */
1215
+ beforeText() {
1216
+ if (this.headLength > 0) {
1217
+ return this.decoder.flushBeforeText(() => this.flushHead(false));
1218
+ }
1219
+ if (this.decoder.started) {
1220
+ return this.decoder.flushBeforeText(() => this.decoder.decode(new Uint8Array(0), false));
1221
+ }
1222
+ this.decoder.start(new Uint8Array(0));
1223
+ return "";
1144
1224
  }
1145
- filter.end();
1146
- onProgress?.(done, done);
1147
1225
  }
1148
1226
  /**
1149
1227
  * Whether an input is a ReadableStream (by duck type, so a stream from another realm qualifies).