@graphty/graph-io 0.3.2 → 0.3.4

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 (91) hide show
  1. package/README.md +17 -4
  2. package/dist/chunks/{escape-CKied3Ri.js → escape-DXbOoLKl.js} +23 -5
  3. package/dist/chunks/{escape-CKied3Ri.js.map → escape-DXbOoLKl.js.map} +1 -1
  4. package/dist/chunks/{importer-DbMrAR_w.js → importer-B9qF4e32.js} +37 -2
  5. package/dist/chunks/importer-B9qF4e32.js.map +1 -0
  6. package/dist/chunks/{importer-DkzjTvHc.js → importer-BOxwmef_.js} +360 -16
  7. package/dist/chunks/importer-BOxwmef_.js.map +1 -0
  8. package/dist/chunks/{importer-D5pAsweZ.js → importer-C2caVvl6.js} +2 -2
  9. package/dist/chunks/{importer-D5pAsweZ.js.map → importer-C2caVvl6.js.map} +1 -1
  10. package/dist/chunks/{importer-C6QcIRIb.js → importer-xoHpRG5x.js} +2 -2
  11. package/dist/chunks/{importer-C6QcIRIb.js.map → importer-xoHpRG5x.js.map} +1 -1
  12. package/dist/csv.js +1 -1
  13. package/dist/dot.js +1 -1
  14. package/dist/gexf.js +1 -1
  15. package/dist/gml.js +34 -13
  16. package/dist/gml.js.map +1 -1
  17. package/dist/graph-io.js +9 -9
  18. package/dist/graph-io.js.map +1 -1
  19. package/dist/graphml.js +1 -1
  20. package/dist/json.js +1 -1
  21. package/dist/neo4j.js +60 -2
  22. package/dist/neo4j.js.map +1 -1
  23. package/dist/pajek.js +1 -1
  24. package/dist/src/common/escape.d.ts +4 -2
  25. package/dist/src/common/escape.d.ts.map +1 -1
  26. package/dist/src/common/escape.js +31 -5
  27. package/dist/src/common/escape.js.map +1 -1
  28. package/dist/src/formats/gml/importer.d.ts +2 -0
  29. package/dist/src/formats/gml/importer.d.ts.map +1 -1
  30. package/dist/src/formats/gml/importer.js +19 -5
  31. package/dist/src/formats/gml/importer.js.map +1 -1
  32. package/dist/src/formats/gml/index.d.ts +2 -0
  33. package/dist/src/formats/gml/index.d.ts.map +1 -1
  34. package/dist/src/formats/gml/index.js +3 -1
  35. package/dist/src/formats/gml/index.js.map +1 -1
  36. package/dist/src/formats/gml/syntax.d.ts +2 -0
  37. package/dist/src/formats/gml/syntax.d.ts.map +1 -1
  38. package/dist/src/formats/gml/syntax.js +8 -1
  39. package/dist/src/formats/gml/syntax.js.map +1 -1
  40. package/dist/src/formats/graphml/constants.d.ts +4 -0
  41. package/dist/src/formats/graphml/constants.d.ts.map +1 -1
  42. package/dist/src/formats/graphml/constants.js +4 -0
  43. package/dist/src/formats/graphml/constants.js.map +1 -1
  44. package/dist/src/formats/graphml/importer.d.ts.map +1 -1
  45. package/dist/src/formats/graphml/importer.js +28 -0
  46. package/dist/src/formats/graphml/importer.js.map +1 -1
  47. package/dist/src/formats/json/dialect.d.ts +21 -4
  48. package/dist/src/formats/json/dialect.d.ts.map +1 -1
  49. package/dist/src/formats/json/dialect.js +29 -4
  50. package/dist/src/formats/json/dialect.js.map +1 -1
  51. package/dist/src/formats/json/exporter.d.ts.map +1 -1
  52. package/dist/src/formats/json/exporter.js +27 -7
  53. package/dist/src/formats/json/exporter.js.map +1 -1
  54. package/dist/src/formats/json/importer.d.ts +19 -4
  55. package/dist/src/formats/json/importer.d.ts.map +1 -1
  56. package/dist/src/formats/json/importer.js +369 -8
  57. package/dist/src/formats/json/importer.js.map +1 -1
  58. package/dist/src/formats/json/index.d.ts +1 -1
  59. package/dist/src/formats/json/index.d.ts.map +1 -1
  60. package/dist/src/formats/json/index.js +1 -1
  61. package/dist/src/formats/json/index.js.map +1 -1
  62. package/dist/src/formats/neo4j/importer.d.ts +5 -0
  63. package/dist/src/formats/neo4j/importer.d.ts.map +1 -1
  64. package/dist/src/formats/neo4j/importer.js +57 -1
  65. package/dist/src/formats/neo4j/importer.js.map +1 -1
  66. package/dist/src/formats/neo4j/index.d.ts +2 -0
  67. package/dist/src/formats/neo4j/index.d.ts.map +1 -1
  68. package/dist/src/formats/neo4j/index.js +3 -1
  69. package/dist/src/formats/neo4j/index.js.map +1 -1
  70. package/dist/src/index.d.ts +1 -1
  71. package/dist/src/index.d.ts.map +1 -1
  72. package/dist/src/index.js.map +1 -1
  73. package/dist/src/sniff.d.ts +3 -3
  74. package/dist/src/sniff.d.ts.map +1 -1
  75. package/dist/src/sniff.js.map +1 -1
  76. package/package.json +2 -2
  77. package/src/common/escape.ts +5 -4
  78. package/src/formats/json/dialect.ts +40 -6
  79. package/src/formats/json/exporter.ts +28 -7
  80. package/src/formats/json/importer.ts +411 -21
  81. package/src/formats/json/index.ts +7 -1
  82. package/src/formats/neo4j/exporter.ts +43 -6
  83. package/src/formats/neo4j/importer.ts +56 -11
  84. package/src/formats/neo4j/index.ts +10 -3
  85. package/src/formats/pajek/exporter.ts +3 -1
  86. package/src/formats/pajek/importer.ts +284 -60
  87. package/src/formats/pajek/syntax.ts +98 -12
  88. package/src/index.ts +2 -0
  89. package/src/sniff.ts +3 -3
  90. package/dist/chunks/importer-DbMrAR_w.js.map +0 -1
  91. package/dist/chunks/importer-DkzjTvHc.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/formats/graphml/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/formats/graphml/constants.ts"],"names":[],"mappings":"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"}
@@ -110,6 +110,10 @@ export const GRAPHML_ISSUE = Object.freeze({
110
110
  HYPEREDGE_ENDPOINT: "E_GRAPHML_HYPEREDGE_ENDPOINT",
111
111
  /** `<port>` declarations (and their data) are not kept; sourceport / targetport edge attributes are. */
112
112
  PORT_DECLARATION: "W_GRAPHML_PORT_DECLARATION",
113
+ /** A GraphML `parse.*` hint on `<graph>`, `<node>` or `<edge>` the importer does not act on (parse.nodeids, parse.order, ...). */
114
+ PARSE_HINT_IGNORED: "W_GRAPHML_PARSE_HINT_IGNORED",
115
+ /** An XML attribute GraphML does not define on `<graph>`, `<node>` or `<edge>`; it is not kept. */
116
+ UNKNOWN_XML_ATTRIBUTE: "W_GRAPHML_UNKNOWN_XML_ATTRIBUTE",
113
117
  /** A `<locator>` element. */
114
118
  LOCATOR_DROPPED: "W_GRAPHML_LOCATOR_DROPPED",
115
119
  /** A `<desc>` of a node, an edge or a hyperedge. */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/formats/graphml/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/formats/graphml/constants.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/graphml/importer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AA4CH,OAAO,EAA4B,KAAK,aAAa,EAAuC,MAAM,gBAAgB,CAAC;AAwBnH,2DAA2D;AAC3D,MAAM,WAAW,oBAAoB;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACxC;AA64DD,iDAAiD;AACjD,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,oBAAoB,CAM9D,CAAC"}
1
+ {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/graphml/importer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AA4CH,OAAO,EAA4B,KAAK,aAAa,EAAuC,MAAM,gBAAgB,CAAC;AA8BnH,2DAA2D;AAC3D,MAAM,WAAW,oBAAoB;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACxC;AAi7DD,iDAAiD;AACjD,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,oBAAoB,CAM9D,CAAC"}
@@ -27,6 +27,10 @@ import { isWeightField, parseWeightText } from "../../common/weights.js";
27
27
  import { isWhitespace, localName, tokenizeXml, xmlDeclaredEncoding, XmlSyntaxError, } from "../../common/xml.js";
28
28
  import { EDGE_ID_COLUMN, EXTENSIONS, FORMAT, GRAPHML_ISSUE, GRAPHML_LOSS, GRAPHML_NAMESPACE, HYPEREDGE_HUB_COLUMN, LABEL_COLUMN, META_KEY, MIME_TYPES, ORIGINAL_ID_ATTRIBUTE, ORIGINAL_ID_COLUMN, PARENT_COLUMN, RESERVED_EDGE_NAMES, RESERVED_NODE_NAMES, SOURCE_PORT_COLUMN, TARGET_PORT_COLUMN, XSI_NAMESPACE, } from "./constants.js";
29
29
  import { XmlTreeBuilder } from "./tree.js";
30
+ /** The XML attributes the importer reads on `<graph>`, `<node>` and `<edge>`; any other is reported. */
31
+ const GRAPH_ATTRIBUTES = new Set(["id", "edgedefault", "parse.nodes", "parse.edges"]);
32
+ const NODE_ATTRIBUTES = new Set(["id"]);
33
+ const EDGE_ATTRIBUTES = new Set(["id", "source", "target", "directed", "sourceport", "targetport"]);
30
34
  /** The per-format defaults of design section 8.4: text-cell ids, undirected when edgedefault is missing, weight key. */
31
35
  const FORMAT_DEFAULTS = { ids: "canonical", defaultDirected: false, weightFrom: "weight" };
32
36
  /** Bytes inspected by sniff(). */
@@ -531,6 +535,27 @@ class GraphmlReader {
531
535
  this.descText = "";
532
536
  }
533
537
  // ------------------------------------------------------------------ graphs
538
+ /**
539
+ * Report, once per element kind and attribute name, an XML attribute the importer does not read:
540
+ * a GraphML `parse.*` hint as ignored, anything else as unknown. Namespace declarations and
541
+ * `xml:` / `xsi:` attributes are not data and pass silently.
542
+ * @param kind - the element name
543
+ * @param attrs - the element's attributes
544
+ * @param known - the attributes the importer reads on that element
545
+ * @param line - the line
546
+ */
547
+ reportUnreadAttributes(kind, attrs, known, line) {
548
+ for (const name of attrs.keys()) {
549
+ if (known.has(name) || name === "xmlns" || /^(xmlns|xml|xsi):/.test(name)) {
550
+ continue;
551
+ }
552
+ const hint = name.startsWith("parse.");
553
+ const code = hint ? GRAPHML_ISSUE.PARSE_HINT_IGNORED : GRAPHML_ISSUE.UNKNOWN_XML_ATTRIBUTE;
554
+ this.report.warnOnce("unsupported", code, hint
555
+ ? `the <${kind}> parse hint ${name} is ignored`
556
+ : `the <${kind}> attribute ${name} is not a GraphML attribute; it is not kept`, { line, element: name }, `${code}:${kind}:${name}`);
557
+ }
558
+ }
534
559
  /**
535
560
  * Open a `<graph>`: the top-level one sets the sink's direction (rule 1 of design section
536
561
  * 8.4); a nested one records its container as the parent of its nodes.
@@ -539,6 +564,7 @@ class GraphmlReader {
539
564
  * @param parent - the containing node's index, or INVALID_INDEX
540
565
  */
541
566
  beginGraph(attrs, line, parent) {
567
+ this.reportUnreadAttributes("graph", attrs, GRAPH_ATTRIBUTES, line);
542
568
  const top = this.graphs.length === 0;
543
569
  const edgedefault = attrs.get("edgedefault");
544
570
  let directed;
@@ -1027,6 +1053,7 @@ class GraphmlReader {
1027
1053
  * @param line - the line
1028
1054
  */
1029
1055
  beginNode(attrs, line) {
1056
+ this.reportUnreadAttributes("node", attrs, NODE_ATTRIBUTES, line);
1030
1057
  const graph = this.graphs[this.graphs.length - 1];
1031
1058
  const state = {
1032
1059
  id: null,
@@ -1141,6 +1168,7 @@ class GraphmlReader {
1141
1168
  * @param line - the line
1142
1169
  */
1143
1170
  beginEdge(attrs, line) {
1171
+ this.reportUnreadAttributes("edge", attrs, EDGE_ATTRIBUTES, line);
1144
1172
  const graph = this.graphs[this.graphs.length - 1];
1145
1173
  const edge = {
1146
1174
  source: null,
@@ -1 +1 @@
1
- {"version":3,"file":"importer.js","sourceRoot":"","sources":["../../../../src/formats/graphml/importer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"importer.js","sourceRoot":"","sources":["../../../../src/formats/graphml/importer.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,8 @@
9
9
  * JSON Graph Format v2 (`graph.nodes` keyed by id, per-edge `directed`, hyperedges), Cytoscape.js
10
10
  * elements (`data.id` / `data.source` / `data.target`, `position`, `classes`, `data.parent`),
11
11
  * graphology serialisation (`key` / `attributes`, `undirected` edges, `options.type` / `multi`) and
12
- * vis.js (`from` / `to`).
12
+ * vis.js (`from` / `to`); read only: NetworkX adjacency_data (`nodes` + `adjacency`) and tree_data
13
+ * (nested `id` / `children`).
13
14
  */
14
15
  import { type GraphMeta } from "@graphty/graph-format";
15
16
  import { type ExportCapabilities } from "../../types.js";
@@ -17,6 +18,14 @@ import { type ExportCapabilities } from "../../types.js";
17
18
  export type JsonDialect = "node-link" | "d3" | "jgf" | "cytoscape" | "graphology" | "vis";
18
19
  /** Every dialect name, for option checking and messages. */
19
20
  export declare const JSON_DIALECTS: readonly JsonDialect[];
21
+ /**
22
+ * The dialects the importer reads: every JsonDialect plus two it only reads, NetworkX
23
+ * adjacency_data (`nodes` plus one neighbour list per node under `adjacency`) and tree_data (a
24
+ * nested `id` / `children` record). The exporter writes neither; write node-link instead.
25
+ */
26
+ export type JsonImportDialect = JsonDialect | "adjacency" | "tree";
27
+ /** Every dialect the importer reads, for option checking and messages. */
28
+ export declare const JSON_IMPORT_DIALECTS: readonly JsonImportDialect[];
20
29
  /** The key under `meta.extra` that holds the shape record (design section 8.5). */
21
30
  export declare const META_KEY = "json";
22
31
  /**
@@ -66,17 +75,25 @@ export declare function hasKey(record: Readonly<Record<string, unknown>>, key: s
66
75
  * @returns true for one of JSON_DIALECTS
67
76
  */
68
77
  export declare function isJsonDialect(value: unknown): value is JsonDialect;
78
+ /**
79
+ * Whether a text names a dialect the importer reads.
80
+ * @param value - any value
81
+ * @returns true for one of JSON_IMPORT_DIALECTS
82
+ */
83
+ export declare function isJsonImportDialect(value: unknown): value is JsonImportDialect;
69
84
  /**
70
85
  * The dialect of a parsed JSON document, by the shape rules of design section 8.2 (Cytoscape:
71
86
  * `elements` or a top-level array of `{ data }` elements; JGF: `graph.nodes` / `graph.edges` or
72
87
  * `graphs[]`; graphology: `options.type` / `options.multi`, `key` nodes without `id`, edges with
73
88
  * `undirected` or an `attributes` record; vis: edges with `from` / `to`; d3: `links` without
74
- * `directed` / `multigraph` / `graph`; else node-link). Pure: the importer wraps it with its issue
89
+ * `directed` / `multigraph` / `graph`; NetworkX adjacency_data: `nodes` and `adjacency` without
90
+ * `links` / `edges`; NetworkX tree_data: `children` without `nodes` / `links` / `edges`; else
91
+ * node-link). Pure: the importer wraps it with its issue
75
92
  * codes, the registry's sniff() uses it on a head that parses as a whole document.
76
93
  * @param root - the parsed document
77
94
  * @returns the dialect, or null when the document is not a graph document in any dialect
78
95
  */
79
- export declare function sniffJsonDialect(root: unknown): JsonDialect | null;
96
+ export declare function sniffJsonDialect(root: unknown): JsonImportDialect | null;
80
97
  /**
81
98
  * The shape record of a snapshot's metadata, or an empty record when the snapshot did not come
82
99
  * from the JSON importer.
@@ -85,7 +102,7 @@ export declare function sniffJsonDialect(root: unknown): JsonDialect | null;
85
102
  */
86
103
  export declare function shapeMetaOf(meta: GraphMeta): JsonShapeMeta;
87
104
  /** The direction a dialect assumes when the file declares none (design section 8.4, `defaultDirected`). */
88
- export declare const DIALECT_DEFAULT_DIRECTED: Readonly<Record<JsonDialect, boolean>>;
105
+ export declare const DIALECT_DEFAULT_DIRECTED: Readonly<Record<JsonImportDialect, boolean>>;
89
106
  /**
90
107
  * What one dialect can express (design section 8.5): positions and visual columns are written as
91
108
  * plain attributes (an array for a multi-component column) and read back without their role,
@@ -1 +1 @@
1
- {"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../../../../src/formats/json/dialect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,qDAAqD;AACrD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,IAAI,GAAG,KAAK,GAAG,WAAW,GAAG,YAAY,GAAG,KAAK,CAAC;AAE1F,4DAA4D;AAC5D,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAO9C,CAAC;AAEH,mFAAmF;AACnF,eAAO,MAAM,QAAQ,SAAS,CAAC;AAE/B;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC3C,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,wGAAwG;IACxG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/C,mFAAmF;IACnF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,wDAAwD;IACxD,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C,sGAAsG;IACtG,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CACtE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE7E;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAEtF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAsClE;AAeD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,CAoB1D;AAED,2GAA2G;AAC3G,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAO1E,CAAC;AAuEH;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,kBAAkB,CAE5E;AAED,2FAA2F;AAC3F,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CASrD,CAAC;AAEH,wFAAwF;AACxF,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAAqD,CAAC;AAEhH;;;;GAIG;AACH,eAAO,MAAM,MAAM;IACf,qGAAqG;;IAErG,qFAAqF;;EAEvF,CAAC;AAEH,gGAAgG;AAChG,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAA6C,CAAC;AAEjG,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAA2C,CAAC;AAE/F,8FAA8F;AAC9F,eAAO,MAAM,eAAe,aAAa,CAAC;AAE1C,wFAAwF;AACxF,eAAO,MAAM,cAAc,YAAY,CAAC;AAExC,kFAAkF;AAClF,eAAO,MAAM,aAAa,WAAW,CAAC"}
1
+ {"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../../../../src/formats/json/dialect.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,8 @@
9
9
  * JSON Graph Format v2 (`graph.nodes` keyed by id, per-edge `directed`, hyperedges), Cytoscape.js
10
10
  * elements (`data.id` / `data.source` / `data.target`, `position`, `classes`, `data.parent`),
11
11
  * graphology serialisation (`key` / `attributes`, `undirected` edges, `options.type` / `multi`) and
12
- * vis.js (`from` / `to`).
12
+ * vis.js (`from` / `to`); read only: NetworkX adjacency_data (`nodes` + `adjacency`) and tree_data
13
+ * (nested `id` / `children`).
13
14
  */
14
15
  import { capabilities } from "../../common/export.js";
15
16
  /** Every dialect name, for option checking and messages. */
@@ -21,6 +22,12 @@ export const JSON_DIALECTS = Object.freeze([
21
22
  "graphology",
22
23
  "vis",
23
24
  ]);
25
+ /** Every dialect the importer reads, for option checking and messages. */
26
+ export const JSON_IMPORT_DIALECTS = Object.freeze([
27
+ ...JSON_DIALECTS,
28
+ "adjacency",
29
+ "tree",
30
+ ]);
24
31
  /** The key under `meta.extra` that holds the shape record (design section 8.5). */
25
32
  export const META_KEY = "json";
26
33
  /**
@@ -49,12 +56,22 @@ export function hasKey(record, key) {
49
56
  export function isJsonDialect(value) {
50
57
  return typeof value === "string" && JSON_DIALECTS.includes(value);
51
58
  }
59
+ /**
60
+ * Whether a text names a dialect the importer reads.
61
+ * @param value - any value
62
+ * @returns true for one of JSON_IMPORT_DIALECTS
63
+ */
64
+ export function isJsonImportDialect(value) {
65
+ return typeof value === "string" && JSON_IMPORT_DIALECTS.includes(value);
66
+ }
52
67
  /**
53
68
  * The dialect of a parsed JSON document, by the shape rules of design section 8.2 (Cytoscape:
54
69
  * `elements` or a top-level array of `{ data }` elements; JGF: `graph.nodes` / `graph.edges` or
55
70
  * `graphs[]`; graphology: `options.type` / `options.multi`, `key` nodes without `id`, edges with
56
71
  * `undirected` or an `attributes` record; vis: edges with `from` / `to`; d3: `links` without
57
- * `directed` / `multigraph` / `graph`; else node-link). Pure: the importer wraps it with its issue
72
+ * `directed` / `multigraph` / `graph`; NetworkX adjacency_data: `nodes` and `adjacency` without
73
+ * `links` / `edges`; NetworkX tree_data: `children` without `nodes` / `links` / `edges`; else
74
+ * node-link). Pure: the importer wraps it with its issue
58
75
  * codes, the registry's sniff() uses it on a head that parses as a whole document.
59
76
  * @param root - the parsed document
60
77
  * @returns the dialect, or null when the document is not a graph document in any dialect
@@ -76,8 +93,13 @@ export function sniffJsonDialect(root) {
76
93
  if (Array.isArray(root.graphs)) {
77
94
  return "jgf";
78
95
  }
79
- if (!hasKey(root, "nodes") && !hasKey(root, "edges") && !hasKey(root, "links")) {
80
- return null;
96
+ if (!hasKey(root, "edges") && !hasKey(root, "links")) {
97
+ if (hasKey(root, "nodes") && hasKey(root, "adjacency")) {
98
+ return "adjacency";
99
+ }
100
+ if (!hasKey(root, "nodes")) {
101
+ return hasKey(root, "children") ? "tree" : null;
102
+ }
81
103
  }
82
104
  const firstNode = firstJsonObject(root.nodes);
83
105
  const firstEdge = firstJsonObject(hasKey(root, "edges") ? root.edges : root.links);
@@ -145,6 +167,9 @@ export const DIALECT_DEFAULT_DIRECTED = Object.freeze({
145
167
  cytoscape: true,
146
168
  graphology: true,
147
169
  vis: false,
170
+ // networkx adjacency_data declares `directed`; tree_graph always builds a DiGraph
171
+ adjacency: false,
172
+ tree: true,
148
173
  });
149
174
  /**
150
175
  * The dtypes a JSON dialect keeps as declared: JSON declares no types, so a value reads back as
@@ -1 +1 @@
1
- {"version":3,"file":"dialect.js","sourceRoot":"","sources":["../../../../src/formats/json/dialect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dialect.js","sourceRoot":"","sources":["../../../../src/formats/json/dialect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../../../../src/formats/json/exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAUH,OAAO,EAA4B,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AACtH,OAAO,EAMH,KAAK,WAAW,EAInB,MAAM,cAAc,CAAC;AAEtB,wDAAwD;AACxD,MAAM,WAAW,iBAAiB;IAC9B,0FAA0F;IAC1F,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAClC,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,wGAAwG;IACxG,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,uGAAuG;IACvG,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,oGAAoG;IACpG,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,2GAA2G;IAC3G,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS;IAClB,iEAAiE;;IAEjE,0GAA0G;;IAE1G,2DAA2D;;IAE3D,2FAA2F;;IAE3F,qEAAqE;;IAErE,qHAAqH;;IAErH,8FAA8F;;IAE9F,uHAAuH;;IAEvH,mHAAmH;;IAEnH,iEAAiE;;IAEjE,gFAAgF;;IAEhF,0FAA0F;;IAE1F,mFAAmF;;IAEnF,wFAAwF;;IAExF,6EAA6E;;EAE/E,CAAC;AAy8CH;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,iBAAiB,CAiCxD,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,kBAAkB,CAEzE"}
1
+ {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../../../../src/formats/json/exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAUH,OAAO,EAA4B,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AACtH,OAAO,EAMH,KAAK,WAAW,EAInB,MAAM,cAAc,CAAC;AAEtB,wDAAwD;AACxD,MAAM,WAAW,iBAAiB;IAC9B,0FAA0F;IAC1F,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAClC,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,wGAAwG;IACxG,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,uGAAuG;IACvG,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,oGAAoG;IACpG,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,2GAA2G;IAC3G,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS;IAClB,iEAAiE;;IAEjE,0GAA0G;;IAE1G,2DAA2D;;IAE3D,2FAA2F;;IAE3F,qEAAqE;;IAErE,qHAAqH;;IAErH,8FAA8F;;IAE9F,uHAAuH;;IAEvH,mHAAmH;;IAEnH,iEAAiE;;IAEjE,gFAAgF;;IAEhF,0FAA0F;;IAE1F,mFAAmF;;IAEnF,wFAAwF;;IAExF,6EAA6E;;EAE/E,CAAC;AA89CH;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,iBAAiB,CAiCxD,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,kBAAkB,CAEzE"}
@@ -181,11 +181,25 @@ function numberText(value, f32, nonfinite) {
181
181
  nonfinite.count++;
182
182
  return "null";
183
183
  }
184
- if (f32) {
185
- return formatF32(value);
186
- }
187
184
  // -0 is a JSON number too ("-0"); JSON.parse reads it back as -0
188
- return formatF64(value);
185
+ return exponentIfUnsafe(f32 ? formatF32(value) : formatF64(value));
186
+ }
187
+ /**
188
+ * An integer text beyond 2^53 in exponent form (`100000000000000000000` -> `1e+20`, the same
189
+ * digits): the importer reads an integer literal that large as its exact digits (a string), so
190
+ * a number must not be written as one.
191
+ * @param text - the shortest decimal text of a finite number
192
+ * @returns the text, or its exponent form for an integer literal of 16 or more digits
193
+ */
194
+ function exponentIfUnsafe(text) {
195
+ const match = /^(-?)([0-9]{16,})$/.exec(text);
196
+ if (match === null || Number.isSafeInteger(Number(text))) {
197
+ return text;
198
+ }
199
+ const [, sign, digits] = match;
200
+ const mantissa = digits.replace(/0+$/, "");
201
+ const fraction = mantissa.length > 1 ? `.${mantissa.slice(1)}` : "";
202
+ return `${sign}${mantissa[0]}${fraction}e+${digits.length - 1}`;
189
203
  }
190
204
  /**
191
205
  * The JSON text of any cell value: a number per its dtype, a boolean, a string, an array (a
@@ -215,6 +229,8 @@ function valueText(value, f32, nonfinite) {
215
229
  const items = Array.from(value, (item) => valueText(item, f32, nonfinite));
216
230
  return `[${items.join(",")}]`;
217
231
  }
232
+ // ponytail: numbers nested in a json object are written by JSON.stringify, so an integral one
233
+ // beyond 2^53 re-imports as its digit text; walk the object here if that ever matters
218
234
  const text = JSON.stringify(value);
219
235
  return text === undefined ? "null" : text;
220
236
  }
@@ -235,7 +251,7 @@ function cellText(column, row, ids, nonfinite) {
235
251
  case "u32":
236
252
  if (column.meta.refersTo === "node" && column.meta.components === 1) {
237
253
  const index = column.data[row];
238
- return index === INVALID_INDEX ? "null" : JSON.stringify(ids.idOf(index));
254
+ return index === INVALID_INDEX ? "null" : idText(ids.idOf(index));
239
255
  }
240
256
  return valueText(column.value(row), false, nonfinite);
241
257
  case "f32":
@@ -644,7 +660,8 @@ function planWeights(ctx, edges) {
644
660
  if (!weights.isExplicit(e)) {
645
661
  return null;
646
662
  }
647
- return Number.isFinite(weights.value(e)) ? weights.text(e) : "null";
663
+ const text = Number.isFinite(weights.value(e)) ? weights.text(e) : "null";
664
+ return text === null ? null : exponentIfUnsafe(text);
648
665
  };
649
666
  }
650
667
  /**
@@ -849,7 +866,10 @@ function anySet(plans, row, slots) {
849
866
  * @returns the text
850
867
  */
851
868
  function idText(id) {
852
- return typeof id === "number" && Object.is(id, -0) ? "0" : JSON.stringify(id);
869
+ if (typeof id === "number") {
870
+ return Object.is(id, -0) ? "0" : exponentIfUnsafe(String(id));
871
+ }
872
+ return JSON.stringify(id);
853
873
  }
854
874
  /**
855
875
  * The edge id text of an edge, or null when none is set.