@graphty/graph-io 0.3.39 → 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 (213) 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-BpYMQZVa.js → escape-DBb8zuNE.js} +4 -3
  6. package/dist/chunks/escape-DBb8zuNE.js.map +1 -0
  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-CNJZF_BN.js → exporter-BqtmlxNr.js} +545 -459
  10. package/dist/chunks/exporter-BqtmlxNr.js.map +1 -0
  11. package/dist/chunks/{exporter-BqKs1Q12.js → exporter-CS35R6Fg.js} +6 -5
  12. package/dist/chunks/exporter-CS35R6Fg.js.map +1 -0
  13. package/dist/chunks/{exporter-DXqCPNrI.js → exporter-D8r1N2dU.js} +67 -42
  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-CSt-gaYE.js → importer-BKC7AmCA.js} +42 -29
  18. package/dist/chunks/importer-BKC7AmCA.js.map +1 -0
  19. package/dist/chunks/{importer-DvFznt5-.js → importer-BdWHmlmG.js} +112 -62
  20. package/dist/chunks/importer-BdWHmlmG.js.map +1 -0
  21. package/dist/chunks/{importer-CqgYq4Ld.js → importer-BfbzWk6k.js} +202 -181
  22. package/dist/chunks/importer-BfbzWk6k.js.map +1 -0
  23. package/dist/chunks/{importer-PVXkeoaS.js → importer-BmaZcskq.js} +79 -66
  24. package/dist/chunks/importer-BmaZcskq.js.map +1 -0
  25. package/dist/chunks/{importer-B7Ir269L.js → importer-DviEsHy4.js} +118 -72
  26. package/dist/chunks/importer-DviEsHy4.js.map +1 -0
  27. package/dist/chunks/{importer--tQQsY4W.js → importer-S-abxJHn.js} +5 -5
  28. package/dist/chunks/{importer--tQQsY4W.js.map → importer-S-abxJHn.js.map} +1 -1
  29. package/dist/chunks/{importer-BfJ1jnNr.js → importer-r29cWnEf.js} +28 -13
  30. package/dist/chunks/importer-r29cWnEf.js.map +1 -0
  31. package/dist/chunks/{json-elements-CXs4z1iL.js → json-elements-DdF-etPT.js} +7 -5
  32. package/dist/chunks/{json-elements-CXs4z1iL.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-C9jd7yLD.js → records-Uc3LkABx.js} +150 -106
  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 +199 -99
  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/json-elements.d.ts.map +1 -1
  63. package/dist/src/common/json-elements.js +4 -2
  64. package/dist/src/common/json-elements.js.map +1 -1
  65. package/dist/src/common/text.d.ts +7 -0
  66. package/dist/src/common/text.d.ts.map +1 -1
  67. package/dist/src/common/text.js +15 -7
  68. package/dist/src/common/text.js.map +1 -1
  69. package/dist/src/common/xml.d.ts.map +1 -1
  70. package/dist/src/common/xml.js +2 -1
  71. package/dist/src/common/xml.js.map +1 -1
  72. package/dist/src/common/zip.d.ts.map +1 -1
  73. package/dist/src/common/zip.js +36 -19
  74. package/dist/src/common/zip.js.map +1 -1
  75. package/dist/src/formats/csv/exporter.d.ts.map +1 -1
  76. package/dist/src/formats/csv/exporter.js +77 -25
  77. package/dist/src/formats/csv/exporter.js.map +1 -1
  78. package/dist/src/formats/csv/importer.d.ts.map +1 -1
  79. package/dist/src/formats/csv/importer.js +16 -6
  80. package/dist/src/formats/csv/importer.js.map +1 -1
  81. package/dist/src/formats/csv/records.d.ts.map +1 -1
  82. package/dist/src/formats/csv/records.js +156 -110
  83. package/dist/src/formats/csv/records.js.map +1 -1
  84. package/dist/src/formats/cx/importer.d.ts.map +1 -1
  85. package/dist/src/formats/cx/importer.js +108 -53
  86. package/dist/src/formats/cx/importer.js.map +1 -1
  87. package/dist/src/formats/cx2/exporter.d.ts.map +1 -1
  88. package/dist/src/formats/cx2/exporter.js +2 -1
  89. package/dist/src/formats/cx2/exporter.js.map +1 -1
  90. package/dist/src/formats/cx2/importer.d.ts.map +1 -1
  91. package/dist/src/formats/cx2/importer.js +28 -6
  92. package/dist/src/formats/cx2/importer.js.map +1 -1
  93. package/dist/src/formats/cys/tables.d.ts.map +1 -1
  94. package/dist/src/formats/cys/tables.js +11 -8
  95. package/dist/src/formats/cys/tables.js.map +1 -1
  96. package/dist/src/formats/gexf/exporter.d.ts.map +1 -1
  97. package/dist/src/formats/gexf/exporter.js +69 -39
  98. package/dist/src/formats/gexf/exporter.js.map +1 -1
  99. package/dist/src/formats/gexf/importer.d.ts.map +1 -1
  100. package/dist/src/formats/gexf/importer.js +138 -50
  101. package/dist/src/formats/gexf/importer.js.map +1 -1
  102. package/dist/src/formats/gml/exporter.d.ts.map +1 -1
  103. package/dist/src/formats/gml/exporter.js +51 -35
  104. package/dist/src/formats/gml/exporter.js.map +1 -1
  105. package/dist/src/formats/gml/importer.d.ts.map +1 -1
  106. package/dist/src/formats/gml/importer.js +103 -58
  107. package/dist/src/formats/gml/importer.js.map +1 -1
  108. package/dist/src/formats/gml/syntax.d.ts.map +1 -1
  109. package/dist/src/formats/gml/syntax.js +17 -8
  110. package/dist/src/formats/gml/syntax.js.map +1 -1
  111. package/dist/src/formats/graphml/exporter.d.ts.map +1 -1
  112. package/dist/src/formats/graphml/exporter.js +36 -25
  113. package/dist/src/formats/graphml/exporter.js.map +1 -1
  114. package/dist/src/formats/graphml/importer.d.ts.map +1 -1
  115. package/dist/src/formats/graphml/importer.js +20 -15
  116. package/dist/src/formats/graphml/importer.js.map +1 -1
  117. package/dist/src/formats/graphml/tree.js +23 -14
  118. package/dist/src/formats/graphml/tree.js.map +1 -1
  119. package/dist/src/formats/graphml/yfiles.d.ts.map +1 -1
  120. package/dist/src/formats/graphml/yfiles.js +22 -10
  121. package/dist/src/formats/graphml/yfiles.js.map +1 -1
  122. package/dist/src/formats/json/exporter.d.ts.map +1 -1
  123. package/dist/src/formats/json/exporter.js +38 -21
  124. package/dist/src/formats/json/exporter.js.map +1 -1
  125. package/dist/src/formats/json/importer.d.ts.map +1 -1
  126. package/dist/src/formats/json/importer.js +536 -343
  127. package/dist/src/formats/json/importer.js.map +1 -1
  128. package/dist/src/formats/json/obographs.js +29 -17
  129. package/dist/src/formats/json/obographs.js.map +1 -1
  130. package/dist/src/formats/neo4j/exporter.d.ts.map +1 -1
  131. package/dist/src/formats/neo4j/exporter.js +73 -43
  132. package/dist/src/formats/neo4j/exporter.js.map +1 -1
  133. package/dist/src/formats/neo4j/header.d.ts.map +1 -1
  134. package/dist/src/formats/neo4j/header.js +37 -16
  135. package/dist/src/formats/neo4j/header.js.map +1 -1
  136. package/dist/src/formats/neo4j/importer.d.ts.map +1 -1
  137. package/dist/src/formats/neo4j/importer.js +21 -11
  138. package/dist/src/formats/neo4j/importer.js.map +1 -1
  139. package/dist/src/formats/obo/exporter.d.ts.map +1 -1
  140. package/dist/src/formats/obo/exporter.js +18 -7
  141. package/dist/src/formats/obo/exporter.js.map +1 -1
  142. package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
  143. package/dist/src/formats/pajek/exporter.js +142 -73
  144. package/dist/src/formats/pajek/exporter.js.map +1 -1
  145. package/dist/src/formats/pajek/importer.d.ts.map +1 -1
  146. package/dist/src/formats/pajek/importer.js +26 -15
  147. package/dist/src/formats/pajek/importer.js.map +1 -1
  148. package/dist/src/formats/pajek/syntax.d.ts.map +1 -1
  149. package/dist/src/formats/pajek/syntax.js +85 -58
  150. package/dist/src/formats/pajek/syntax.js.map +1 -1
  151. package/dist/src/formats/xgmml/emit.d.ts +13 -0
  152. package/dist/src/formats/xgmml/emit.d.ts.map +1 -1
  153. package/dist/src/formats/xgmml/emit.js +112 -50
  154. package/dist/src/formats/xgmml/emit.js.map +1 -1
  155. package/dist/src/formats/xgmml/exporter.d.ts.map +1 -1
  156. package/dist/src/formats/xgmml/exporter.js +92 -34
  157. package/dist/src/formats/xgmml/exporter.js.map +1 -1
  158. package/dist/src/formats/xgmml/importer.d.ts.map +1 -1
  159. package/dist/src/formats/xgmml/importer.js +38 -18
  160. package/dist/src/formats/xgmml/importer.js.map +1 -1
  161. package/dist/src/sniff.js +109 -57
  162. package/dist/src/sniff.js.map +1 -1
  163. package/dist/xgmml.js +2 -2
  164. package/package.json +2 -2
  165. package/src/common/attributes.ts +59 -19
  166. package/src/common/input.ts +216 -102
  167. package/src/common/json-elements.ts +4 -2
  168. package/src/common/text.ts +24 -15
  169. package/src/common/xml.ts +2 -1
  170. package/src/common/zip.ts +47 -18
  171. package/src/formats/csv/exporter.ts +103 -39
  172. package/src/formats/csv/importer.ts +17 -6
  173. package/src/formats/csv/records.ts +162 -109
  174. package/src/formats/cx/importer.ts +140 -58
  175. package/src/formats/cx2/exporter.ts +2 -1
  176. package/src/formats/cx2/importer.ts +34 -10
  177. package/src/formats/cys/tables.ts +11 -10
  178. package/src/formats/gexf/exporter.ts +71 -38
  179. package/src/formats/gexf/importer.ts +173 -63
  180. package/src/formats/gml/exporter.ts +78 -82
  181. package/src/formats/gml/importer.ts +119 -68
  182. package/src/formats/gml/syntax.ts +18 -8
  183. package/src/formats/graphml/exporter.ts +46 -27
  184. package/src/formats/graphml/importer.ts +21 -13
  185. package/src/formats/graphml/tree.ts +22 -12
  186. package/src/formats/graphml/yfiles.ts +23 -10
  187. package/src/formats/json/exporter.ts +40 -21
  188. package/src/formats/json/importer.ts +701 -385
  189. package/src/formats/json/obographs.ts +35 -15
  190. package/src/formats/neo4j/exporter.ts +79 -41
  191. package/src/formats/neo4j/header.ts +50 -16
  192. package/src/formats/neo4j/importer.ts +21 -10
  193. package/src/formats/obo/exporter.ts +34 -17
  194. package/src/formats/pajek/exporter.ts +180 -117
  195. package/src/formats/pajek/importer.ts +27 -15
  196. package/src/formats/pajek/syntax.ts +99 -58
  197. package/src/formats/xgmml/emit.ts +122 -50
  198. package/src/formats/xgmml/exporter.ts +103 -35
  199. package/src/formats/xgmml/importer.ts +45 -23
  200. package/src/sniff.ts +115 -59
  201. package/dist/chunks/escape-BpYMQZVa.js.map +0 -1
  202. package/dist/chunks/export-B-aVCwyG.js.map +0 -1
  203. package/dist/chunks/exporter-BqKs1Q12.js.map +0 -1
  204. package/dist/chunks/exporter-CNJZF_BN.js.map +0 -1
  205. package/dist/chunks/exporter-DXqCPNrI.js.map +0 -1
  206. package/dist/chunks/importer-B7Ir269L.js.map +0 -1
  207. package/dist/chunks/importer-BfJ1jnNr.js.map +0 -1
  208. package/dist/chunks/importer-CSt-gaYE.js.map +0 -1
  209. package/dist/chunks/importer-CqgYq4Ld.js.map +0 -1
  210. package/dist/chunks/importer-DvFznt5-.js.map +0 -1
  211. package/dist/chunks/importer-PVXkeoaS.js.map +0 -1
  212. package/dist/chunks/records-C9jd7yLD.js.map +0 -1
  213. package/dist/chunks/text-Bjfa1xYL.js.map +0 -1
@@ -304,6 +304,19 @@ function uniqueKey(base, used) {
304
304
  function note(code, message, column = null, count = null) {
305
305
  return Object.freeze({ code, message, column, count });
306
306
  }
307
+ /**
308
+ * Count a kind of json value once per row.
309
+ * @param seen - the flags already counted for this row
310
+ * @param flag - the flag of the kind
311
+ * @param stats - the counters
312
+ * @param counter - the counter of the kind
313
+ */
314
+ function countOnce(seen, flag, stats, counter) {
315
+ if (!seen[flag]) {
316
+ seen[flag] = true;
317
+ stats[counter]++;
318
+ }
319
+ }
307
320
  /**
308
321
  * Inspect a JSON value for what GML cannot write exactly.
309
322
  * @param value - the value
@@ -313,24 +326,15 @@ function note(code, message, column = null, count = null) {
313
326
  */
314
327
  function inspectJson(value, stats, inArray, seen) {
315
328
  if (value === null) {
316
- if (!seen.nulls) {
317
- seen.nulls = true;
318
- stats.nulls++;
319
- }
329
+ countOnce(seen, "nulls", stats, "nulls");
320
330
  return;
321
331
  }
322
332
  switch (typeof value) {
323
333
  case "number":
324
- if (!seen.numbers) {
325
- seen.numbers = true;
326
- stats.numbers++;
327
- }
334
+ countOnce(seen, "numbers", stats, "numbers");
328
335
  return;
329
336
  case "boolean":
330
- if (!seen.booleans) {
331
- seen.booleans = true;
332
- stats.booleans++;
333
- }
337
+ countOnce(seen, "booleans", stats, "booleans");
334
338
  return;
335
339
  case "string":
336
340
  return;
@@ -338,9 +342,8 @@ function inspectJson(value, stats, inArray, seen) {
338
342
  break;
339
343
  }
340
344
  if (Array.isArray(value)) {
341
- if (inArray && !seen.nested) {
342
- seen.nested = true;
343
- stats.nestedArrays++;
345
+ if (inArray) {
346
+ countOnce(seen, "nested", stats, "nestedArrays");
344
347
  }
345
348
  for (const item of value) {
346
349
  inspectJson(item, stats, true, seen);
@@ -355,6 +358,27 @@ function inspectJson(value, stats, inArray, seen) {
355
358
  inspectJson(record[key], stats, false, seen);
356
359
  }
357
360
  }
361
+ /**
362
+ * A row count in words.
363
+ * @param count - the count
364
+ * @returns the count and the word row, pluralised
365
+ */
366
+ function rowCount(count) {
367
+ return `${count} row${plural(count)}`;
368
+ }
369
+ /**
370
+ * Record a note for a counter that is not zero.
371
+ * @param notes - where to record
372
+ * @param count - the counter
373
+ * @param code - the note code
374
+ * @param text - the note message
375
+ * @param column - the column name
376
+ */
377
+ function pushCounted(notes, count, code, text, column) {
378
+ if (count > 0) {
379
+ notes.push(note(code, text, column, count));
380
+ }
381
+ }
358
382
  /**
359
383
  * The GML-specific notes of one table's json columns.
360
384
  * @param columns - the written columns
@@ -370,26 +394,18 @@ function jsonNotes(columns, label, plan, notes) {
370
394
  }
371
395
  const { name } = column.meta;
372
396
  const where = `${label} column "${name}"`;
373
- if (stats.numbers > 0) {
374
- notes.push(note(RECORD_NUMBER_TYPE_CODE, `${where} holds numbers in ${stats.numbers} row${plural(stats.numbers)}; GML records cannot keep the int / real distinction`, name, stats.numbers));
375
- }
376
- if (stats.booleans > 0) {
377
- notes.push(note(RECORD_BOOLEAN_CODE, `${where} holds booleans in ${stats.booleans} row${plural(stats.booleans)}; written as 1 / 0`, name, stats.booleans));
378
- }
379
- if (stats.nulls > 0) {
380
- notes.push(note(RECORD_NULL_CODE, `${where} holds nulls in ${stats.nulls} row${plural(stats.nulls)}; GML has no null, the key is omitted`, name, stats.nulls));
381
- }
382
- if (stats.arrays > 0) {
383
- notes.push(note(JSON_ARRAY_CODE, `${where} holds arrays as values in ${stats.arrays} row${plural(stats.arrays)}; written as repeated keys, they re-import as a list`, name, stats.arrays));
384
- }
385
- if (stats.nestedArrays > 0) {
386
- notes.push(note(NESTED_ARRAY_CODE, `${where} holds arrays nested in arrays in ${stats.nestedArrays} row${plural(stats.nestedArrays)}; GML cannot write them and the save fails`, name, stats.nestedArrays));
387
- }
388
- if (stats.invalidKeys > 0) {
389
- notes.push(plan.mangle
390
- ? note(KEY_MANGLED_CODE, `${where}: ${stats.invalidKeys} record key${plural(stats.invalidKeys)} ${agree(stats.invalidKeys, "is", "are")} not GML keys and are rewritten`, name, stats.invalidKeys)
391
- : note(INVALID_KEY_CODE, `${where}: ${stats.invalidKeys} record key${plural(stats.invalidKeys)} ${agree(stats.invalidKeys, "is", "are")} not GML keys; the save fails unless sanitizeKeys is "mangle"`, name, stats.invalidKeys));
392
- }
397
+ const counted = (count, code, text) => {
398
+ pushCounted(notes, count, code, text, name);
399
+ };
400
+ counted(stats.numbers, RECORD_NUMBER_TYPE_CODE, `${where} holds numbers in ${rowCount(stats.numbers)}; GML records cannot keep the int / real distinction`);
401
+ counted(stats.booleans, RECORD_BOOLEAN_CODE, `${where} holds booleans in ${rowCount(stats.booleans)}; written as 1 / 0`);
402
+ counted(stats.nulls, RECORD_NULL_CODE, `${where} holds nulls in ${rowCount(stats.nulls)}; GML has no null, the key is omitted`);
403
+ counted(stats.arrays, JSON_ARRAY_CODE, `${where} holds arrays as values in ${rowCount(stats.arrays)}; written as repeated keys, they re-import as a list`);
404
+ counted(stats.nestedArrays, NESTED_ARRAY_CODE, `${where} holds arrays nested in arrays in ${rowCount(stats.nestedArrays)}; GML cannot write them and the save fails`);
405
+ const keys = `${stats.invalidKeys} record key${plural(stats.invalidKeys)} ${agree(stats.invalidKeys, "is", "are")} not GML keys`;
406
+ counted(stats.invalidKeys, plan.mangle ? KEY_MANGLED_CODE : INVALID_KEY_CODE, plan.mangle
407
+ ? `${where}: ${keys} and are rewritten`
408
+ : `${where}: ${keys}; the save fails unless sanitizeKeys is "mangle"`);
393
409
  }
394
410
  }
395
411
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../../src/formats/gml/exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../../src/formats/gml/exporter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/gml/importer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAyCH,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAGrB,MAAM,gBAAgB,CAAC;AAmBxB;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB,EAAE,mBAAmB;IAC7E;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACtC;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,eAAuB,CAAC;AAClD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,sBAAuB,CAAC;AACtD;;;GAGG;AACH,eAAO,MAAM,eAAe,iBAAyB,CAAC;AACtD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AACxD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,uBAA+B,CAAC;AAClE;;;GAGG;AACH,eAAO,MAAM,YAAY,kBAAkB,CAAC;AAC5C;;;;GAIG;AACH,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAChD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,qBAA6B,CAAC;AAC9D;;;GAGG;AACH,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AACtD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AACtD;;;GAGG;AACH,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAChD;;;;GAIG;AACH,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAIlD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,yBAAyB,CAAC;AAC1D;;;;;GAKG;AACH,eAAO,MAAM,aAAa,mBAAmB,CAAC;AAC9C;;;GAGG;AACH,eAAO,MAAM,mBAAmB,yBAAyB,CAAC;AAC1D;;;GAGG;AACH,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAC1C;;;GAGG;AACH,eAAO,MAAM,YAAY,cAAsB,CAAC;AAChD;;;;GAIG;AACH,eAAO,MAAM,cAAc,gBAAwB,CAAC;AACpD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,qBAAsB,CAAC;AAC3D;;;;GAIG;AACH,eAAO,MAAM,eAAe,iBAAyB,CAAC;AACtD;;;GAGG;AACH,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAsqDlD;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,gBAAgB,CA0EtD,CAAC"}
1
+ {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/gml/importer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAyCH,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAGrB,MAAM,gBAAgB,CAAC;AAmBxB;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB,EAAE,mBAAmB;IAC7E;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACtC;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,eAAuB,CAAC;AAClD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,sBAAuB,CAAC;AACtD;;;GAGG;AACH,eAAO,MAAM,eAAe,iBAAyB,CAAC;AACtD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AACxD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,uBAA+B,CAAC;AAClE;;;GAGG;AACH,eAAO,MAAM,YAAY,kBAAkB,CAAC;AAC5C;;;;GAIG;AACH,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAChD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,qBAA6B,CAAC;AAC9D;;;GAGG;AACH,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AACtD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AACtD;;;GAGG;AACH,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAChD;;;;GAIG;AACH,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAIlD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,yBAAyB,CAAC;AAC1D;;;;;GAKG;AACH,eAAO,MAAM,aAAa,mBAAmB,CAAC;AAC9C;;;GAGG;AACH,eAAO,MAAM,mBAAmB,yBAAyB,CAAC;AAC1D;;;GAGG;AACH,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAC1C;;;GAGG;AACH,eAAO,MAAM,YAAY,cAAsB,CAAC;AAChD;;;;GAIG;AACH,eAAO,MAAM,cAAc,gBAAwB,CAAC;AACpD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,qBAAsB,CAAC;AAC3D;;;;GAIG;AACH,eAAO,MAAM,eAAe,iBAAyB,CAAC;AACtD;;;GAGG;AACH,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAytDlD;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,gBAAgB,CA0EtD,CAAC"}
@@ -299,29 +299,46 @@ class GmlImport {
299
299
  if (key === "graph" && !record && scalarGraph < 0) {
300
300
  scalarGraph = v;
301
301
  }
302
- if (key === "graph" && record) {
303
- if (this.graphCount++ === this.which) {
304
- this.graphOpen = v;
305
- this.scanGraph(v);
306
- }
307
- }
308
- else if (key === "Creator" && !record && this.creatorToken < 0) {
309
- this.creatorToken = v;
310
- }
311
- else if (key === "Version" && !record && this.versionToken < 0) {
312
- this.versionToken = v;
313
- }
314
- else {
315
- this.observe(this.topSchema, "graph", key, v, TOP_SEQ);
316
- }
302
+ this.scanTopPair(key, record, v);
317
303
  }
318
304
  if (this.graphOpen < 0) {
319
- if (scalarGraph >= 0) {
320
- this.report.fail(NO_GRAPH_CODE, `the graph key at line ${t.line[scalarGraph]} holds ${describeValue(t, scalarGraph)}, not a [ ... ] block; the input contains no graph block`, { line: t.line[scalarGraph] });
305
+ this.failNoGraph(t, scalarGraph);
306
+ }
307
+ }
308
+ /**
309
+ * Handle one top-level pair other than a scalar `graph`.
310
+ * @param key - the key
311
+ * @param record - whether the value is a `[ ... ]` block
312
+ * @param v - the value token
313
+ */
314
+ scanTopPair(key, record, v) {
315
+ if (key === "graph" && record) {
316
+ if (this.graphCount++ === this.which) {
317
+ this.graphOpen = v;
318
+ this.scanGraph(v);
321
319
  }
322
- this.report.fail(NO_GRAPH_CODE, "the input contains no graph [ ... ] block", { line: null });
320
+ }
321
+ else if (key === "Creator" && !record && this.creatorToken < 0) {
322
+ this.creatorToken = v;
323
+ }
324
+ else if (key === "Version" && !record && this.versionToken < 0) {
325
+ this.versionToken = v;
326
+ }
327
+ else {
328
+ this.observe(this.topSchema, "graph", key, v, TOP_SEQ);
323
329
  }
324
330
  }
331
+ /**
332
+ * Fail because the input holds no graph block.
333
+ * @param t - the tokens
334
+ * @param scalarGraph - the token of a scalar `graph` key, or -1
335
+ */
336
+ failNoGraph(t, scalarGraph) {
337
+ if (scalarGraph >= 0) {
338
+ this.report.fail(NO_GRAPH_CODE, `the graph key at line ${t.line[scalarGraph]} holds ${describeValue(t, scalarGraph)}, not a [ ... ] block; the input contains no graph block`, { line: t.line[scalarGraph] });
339
+ }
340
+ this.report.fail(NO_GRAPH_CODE, "the input contains no graph [ ... ] block", { line: null });
341
+ }
325
342
  /**
326
343
  * Walk the graph block for the schema.
327
344
  * @param open - the index of the block's `[`
@@ -370,31 +387,41 @@ class GmlImport {
370
387
  const close = t.match[open];
371
388
  const seq = this.seq++;
372
389
  const schema = domain === "node" ? this.nodeSchema : this.edgeSchema;
373
- const { weightFrom, restoreMangledIds } = this.options;
374
390
  for (let p = open + 1; p < close; p = t.nextPair(p)) {
375
391
  const key = t.textOf(p);
376
392
  const v = p + 1;
377
- if (domain === "node") {
378
- if (key === "id") {
379
- continue;
380
- }
381
- if (key === ORIGINAL_ID_KEY && restoreMangledIds) {
382
- this.hasOriginalId = true;
383
- continue;
384
- }
385
- }
386
- else {
387
- if (key === "source" || key === "target" || key === "directed") {
388
- continue;
389
- }
390
- if (key === weightFrom) {
391
- this.weightKinds |= kindBit(t, v);
392
- continue;
393
- }
393
+ if (this.skipsKey(domain, key, v)) {
394
+ continue;
394
395
  }
395
396
  this.observe(schema, domain, key, v, seq);
396
397
  }
397
398
  }
399
+ /**
400
+ * Whether a key of a node or edge block is structural (id, endpoints, weight, original id), not
401
+ * a column; notes the original id and the weight's kinds on the way.
402
+ * @param domain - node or edge
403
+ * @param key - the key
404
+ * @param v - the value token
405
+ * @returns true when the key is not a column
406
+ */
407
+ skipsKey(domain, key, v) {
408
+ const { weightFrom, restoreMangledIds } = this.options;
409
+ if (domain === "node") {
410
+ if (key === ORIGINAL_ID_KEY && restoreMangledIds) {
411
+ this.hasOriginalId = true;
412
+ return true;
413
+ }
414
+ return key === "id";
415
+ }
416
+ if (key === "source" || key === "target" || key === "directed") {
417
+ return true;
418
+ }
419
+ if (key === weightFrom) {
420
+ this.weightKinds |= kindBit(this.requireTokens(), v);
421
+ return true;
422
+ }
423
+ return false;
424
+ }
398
425
  /**
399
426
  * Record one value of one key in a table's schema.
400
427
  * @param schema - the table's schema
@@ -562,6 +589,44 @@ class GmlImport {
562
589
  this.topPlans.set(key, this.planOf("graph", entry, true));
563
590
  }
564
591
  }
592
+ /**
593
+ * Warn about a key that mixes numbers and strings, or holds integers beyond 2^53.
594
+ * @param domain - the table
595
+ * @param entry - the schema entry
596
+ * @param asText - whether the integers are kept as text
597
+ */
598
+ warnKinds(domain, entry, asText) {
599
+ if ((entry.kinds & KIND_STRING) !== 0 &&
600
+ (entry.kinds & (KIND_INT | KIND_REAL)) !== 0 &&
601
+ (entry.kinds & KIND_RECORD) === 0) {
602
+ this.report.warnOnce("coercion", WIDENED_CODE, `${domain} key "${entry.key}" mixes numbers and strings; the column is string and the numbers are kept as written`, { element: entry.key }, `${WIDENED_CODE}:${domain}:${entry.key}`);
603
+ }
604
+ if (entry.unsafe && !asText) {
605
+ this.report.warnOnce("precision", PRECISION_CODE, `${domain} key "${entry.key}" holds integers beyond 2^53; they are stored as the nearest f64 (pass long: "string" to keep every digit as text)`, { element: entry.key }, `${PRECISION_CODE}:${domain}:${entry.key}`);
606
+ }
607
+ }
608
+ /**
609
+ * The plan of a node `graphics` record: the plan plus its position and rest columns.
610
+ * @param plan - the record's plan
611
+ * @param entry - the schema entry
612
+ * @returns the plan with its position (and rest) plans
613
+ */
614
+ graphicsPlan(plan, entry) {
615
+ const taken = (candidate) => this.nodeSchema.has(candidate) || this.sink.nodeColumn(candidate) !== INVALID_INDEX;
616
+ const position = {
617
+ ...plan,
618
+ name: uniqueColumnName("position", "graphics", taken),
619
+ dtype: "f64",
620
+ itemDtype: null,
621
+ kind: "real",
622
+ list: false,
623
+ role: "position",
624
+ };
625
+ const rest = entry.rest
626
+ ? { ...plan, dtype: "json", itemDtype: null, kind: "record", list: false }
627
+ : null;
628
+ return { ...plan, position, rest };
629
+ }
565
630
  /**
566
631
  * The plan of one schema entry.
567
632
  * @param domain - the table
@@ -581,14 +646,7 @@ class GmlImport {
581
646
  entry.dict.decide() === "dict") {
582
647
  scalar = "dict";
583
648
  }
584
- if ((entry.kinds & KIND_STRING) !== 0 &&
585
- (entry.kinds & (KIND_INT | KIND_REAL)) !== 0 &&
586
- (entry.kinds & KIND_RECORD) === 0) {
587
- this.report.warnOnce("coercion", WIDENED_CODE, `${domain} key "${entry.key}" mixes numbers and strings; the column is string and the numbers are kept as written`, { element: entry.key }, `${WIDENED_CODE}:${domain}:${entry.key}`);
588
- }
589
- if (entry.unsafe && !asText) {
590
- this.report.warnOnce("precision", PRECISION_CODE, `${domain} key "${entry.key}" holds integers beyond 2^53; they are stored as the nearest f64 (pass long: "string" to keep every digit as text)`, { element: entry.key }, `${PRECISION_CODE}:${domain}:${entry.key}`);
591
- }
649
+ this.warnKinds(domain, entry, asText);
592
650
  const name = domain === "graph" ? this.uniqueGraphName(entry.key) : entry.key;
593
651
  let itemDtype = null;
594
652
  if (entry.list) {
@@ -611,20 +669,7 @@ class GmlImport {
611
669
  seq: Number.NEGATIVE_INFINITY,
612
670
  };
613
671
  if (domain === "node" && entry.key === "graphics" && this.positions && (entry.kinds & KIND_RECORD) !== 0) {
614
- const taken = (candidate) => this.nodeSchema.has(candidate) || this.sink.nodeColumn(candidate) !== INVALID_INDEX;
615
- const position = {
616
- ...plan,
617
- name: uniqueColumnName("position", "graphics", taken),
618
- dtype: "f64",
619
- itemDtype: null,
620
- kind: "real",
621
- list: false,
622
- role: "position",
623
- };
624
- const rest = entry.rest
625
- ? { ...plan, dtype: "json", itemDtype: null, kind: "record", list: false }
626
- : null;
627
- return { ...plan, position, rest };
672
+ return this.graphicsPlan(plan, entry);
628
673
  }
629
674
  return plan;
630
675
  }