@graphty/graph-io 0.3.18 → 0.3.20

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 (235) hide show
  1. package/README.md +80 -2
  2. package/dist/chunks/{escape-D-gZWO26.js → escape-B-tkk_Cl.js} +74 -16
  3. package/dist/chunks/escape-B-tkk_Cl.js.map +1 -0
  4. package/dist/chunks/{writer-GAdltGmC.js → export-Bh60Dv-n.js} +7 -252
  5. package/dist/chunks/export-Bh60Dv-n.js.map +1 -0
  6. package/dist/chunks/exporter-BGrsWamJ.js +736 -0
  7. package/dist/chunks/exporter-BGrsWamJ.js.map +1 -0
  8. package/dist/chunks/exporter-DIeGJXAZ.js +834 -0
  9. package/dist/chunks/exporter-DIeGJXAZ.js.map +1 -0
  10. package/dist/chunks/{importer-Br_QeAeE.js → importer-BWY2FFc5.js} +28 -6
  11. package/dist/chunks/importer-BWY2FFc5.js.map +1 -0
  12. package/dist/chunks/importer-BaQpCEcJ.js +2194 -0
  13. package/dist/chunks/importer-BaQpCEcJ.js.map +1 -0
  14. package/dist/chunks/importer-DD-xv9_Y.js +1471 -0
  15. package/dist/chunks/importer-DD-xv9_Y.js.map +1 -0
  16. package/dist/chunks/{importer-aNJfe0qu.js → importer-DEcKhsmQ.js} +2 -2
  17. package/dist/chunks/{importer-aNJfe0qu.js.map → importer-DEcKhsmQ.js.map} +1 -1
  18. package/dist/chunks/{importer-DHagxvDD.js → importer-DIrbbnAf.js} +6 -4
  19. package/dist/chunks/{importer-DHagxvDD.js.map → importer-DIrbbnAf.js.map} +1 -1
  20. package/dist/chunks/importer-D_e7e7LX.js +3055 -0
  21. package/dist/chunks/importer-D_e7e7LX.js.map +1 -0
  22. package/dist/chunks/{importer-Du5crN9l.js → importer-Wv4C4gaF.js} +278 -82
  23. package/dist/chunks/importer-Wv4C4gaF.js.map +1 -0
  24. package/dist/chunks/importer-vi3bSdtw.js +1713 -0
  25. package/dist/chunks/importer-vi3bSdtw.js.map +1 -0
  26. package/dist/chunks/{importer-d0uQxFp6.js → importer-zGLo8Dg_.js} +6 -4
  27. package/dist/chunks/{importer-d0uQxFp6.js.map → importer-zGLo8Dg_.js.map} +1 -1
  28. package/dist/chunks/json-elements-DDS8N2Dd.js +779 -0
  29. package/dist/chunks/json-elements-DDS8N2Dd.js.map +1 -0
  30. package/dist/chunks/{records-Bk9jgodz.js → records-dbRkxwaq.js} +2 -2
  31. package/dist/chunks/{records-Bk9jgodz.js.map → records-dbRkxwaq.js.map} +1 -1
  32. package/dist/chunks/{report-BOk0p5y8.js → report-B1z4WT9e.js} +143 -111
  33. package/dist/chunks/{report-BOk0p5y8.js.map → report-B1z4WT9e.js.map} +1 -1
  34. package/dist/chunks/weights-Dzba96G3.js +176 -0
  35. package/dist/chunks/weights-Dzba96G3.js.map +1 -0
  36. package/dist/chunks/writer-C7flM-Ih.js +77 -0
  37. package/dist/chunks/writer-C7flM-Ih.js.map +1 -0
  38. package/dist/csv.js +6 -4
  39. package/dist/csv.js.map +1 -1
  40. package/dist/cx.d.ts +1 -0
  41. package/dist/cx.js +6 -0
  42. package/dist/cx.js.map +1 -0
  43. package/dist/cx2.d.ts +1 -0
  44. package/dist/cx2.js +10 -0
  45. package/dist/cx2.js.map +1 -0
  46. package/dist/cys.d.ts +1 -0
  47. package/dist/cys.js +6 -0
  48. package/dist/cys.js.map +1 -0
  49. package/dist/dot.js +1 -1
  50. package/dist/gexf.js +16 -4
  51. package/dist/gexf.js.map +1 -1
  52. package/dist/gml.js +13 -14
  53. package/dist/gml.js.map +1 -1
  54. package/dist/graph-io.js +302 -399
  55. package/dist/graph-io.js.map +1 -1
  56. package/dist/graphml.js +1 -1
  57. package/dist/json.js +1 -1
  58. package/dist/neo4j.js +6 -4
  59. package/dist/neo4j.js.map +1 -1
  60. package/dist/obo.js +1 -1
  61. package/dist/pajek.js +1 -1
  62. package/dist/src/common/cell-budget.d.ts +84 -0
  63. package/dist/src/common/cell-budget.d.ts.map +1 -0
  64. package/dist/src/common/cell-budget.js +138 -0
  65. package/dist/src/common/cell-budget.js.map +1 -0
  66. package/dist/src/common/input.d.ts +10 -0
  67. package/dist/src/common/input.d.ts.map +1 -1
  68. package/dist/src/common/input.js +39 -0
  69. package/dist/src/common/input.js.map +1 -1
  70. package/dist/src/common/json-elements.d.ts +286 -0
  71. package/dist/src/common/json-elements.d.ts.map +1 -0
  72. package/dist/src/common/json-elements.js +926 -0
  73. package/dist/src/common/json-elements.js.map +1 -0
  74. package/dist/src/common/options.d.ts +6 -0
  75. package/dist/src/common/options.d.ts.map +1 -1
  76. package/dist/src/common/options.js +1 -1
  77. package/dist/src/common/options.js.map +1 -1
  78. package/dist/src/common/xml.d.ts +37 -3
  79. package/dist/src/common/xml.d.ts.map +1 -1
  80. package/dist/src/common/xml.js +86 -6
  81. package/dist/src/common/xml.js.map +1 -1
  82. package/dist/src/common/zip.d.ts +92 -0
  83. package/dist/src/common/zip.d.ts.map +1 -0
  84. package/dist/src/common/zip.js +399 -0
  85. package/dist/src/common/zip.js.map +1 -0
  86. package/dist/src/formats/cx/importer.d.ts +133 -0
  87. package/dist/src/formats/cx/importer.d.ts.map +1 -0
  88. package/dist/src/formats/cx/importer.js +2220 -0
  89. package/dist/src/formats/cx/importer.js.map +1 -0
  90. package/dist/src/formats/cx/index.d.ts +7 -0
  91. package/dist/src/formats/cx/index.d.ts.map +1 -0
  92. package/dist/src/formats/cx/index.js +7 -0
  93. package/dist/src/formats/cx/index.js.map +1 -0
  94. package/dist/src/formats/cx2/exporter.d.ts +59 -0
  95. package/dist/src/formats/cx2/exporter.d.ts.map +1 -0
  96. package/dist/src/formats/cx2/exporter.js +864 -0
  97. package/dist/src/formats/cx2/exporter.js.map +1 -0
  98. package/dist/src/formats/cx2/importer.d.ts +169 -0
  99. package/dist/src/formats/cx2/importer.d.ts.map +1 -0
  100. package/dist/src/formats/cx2/importer.js +1652 -0
  101. package/dist/src/formats/cx2/importer.js.map +1 -0
  102. package/dist/src/formats/cx2/index.d.ts +7 -0
  103. package/dist/src/formats/cx2/index.d.ts.map +1 -0
  104. package/dist/src/formats/cx2/index.js +7 -0
  105. package/dist/src/formats/cx2/index.js.map +1 -0
  106. package/dist/src/formats/cys/constants.d.ts +68 -0
  107. package/dist/src/formats/cys/constants.d.ts.map +1 -0
  108. package/dist/src/formats/cys/constants.js +76 -0
  109. package/dist/src/formats/cys/constants.js.map +1 -0
  110. package/dist/src/formats/cys/importer.d.ts +38 -0
  111. package/dist/src/formats/cys/importer.d.ts.map +1 -0
  112. package/dist/src/formats/cys/importer.js +830 -0
  113. package/dist/src/formats/cys/importer.js.map +1 -0
  114. package/dist/src/formats/cys/index.d.ts +7 -0
  115. package/dist/src/formats/cys/index.d.ts.map +1 -0
  116. package/dist/src/formats/cys/index.js +7 -0
  117. package/dist/src/formats/cys/index.js.map +1 -0
  118. package/dist/src/formats/cys/session.d.ts +132 -0
  119. package/dist/src/formats/cys/session.d.ts.map +1 -0
  120. package/dist/src/formats/cys/session.js +315 -0
  121. package/dist/src/formats/cys/session.js.map +1 -0
  122. package/dist/src/formats/cys/tables.d.ts +90 -0
  123. package/dist/src/formats/cys/tables.d.ts.map +1 -0
  124. package/dist/src/formats/cys/tables.js +293 -0
  125. package/dist/src/formats/cys/tables.js.map +1 -0
  126. package/dist/src/formats/dot/exporter.d.ts +2 -0
  127. package/dist/src/formats/dot/exporter.d.ts.map +1 -1
  128. package/dist/src/formats/dot/exporter.js +12 -0
  129. package/dist/src/formats/dot/exporter.js.map +1 -1
  130. package/dist/src/formats/dot/importer.js +6 -2
  131. package/dist/src/formats/dot/importer.js.map +1 -1
  132. package/dist/src/formats/gexf/exporter.d.ts +2 -0
  133. package/dist/src/formats/gexf/exporter.d.ts.map +1 -1
  134. package/dist/src/formats/gexf/exporter.js +6 -0
  135. package/dist/src/formats/gexf/exporter.js.map +1 -1
  136. package/dist/src/formats/gexf/importer.d.ts +0 -2
  137. package/dist/src/formats/gexf/importer.d.ts.map +1 -1
  138. package/dist/src/formats/gexf/importer.js +1 -3
  139. package/dist/src/formats/gexf/importer.js.map +1 -1
  140. package/dist/src/formats/gexf/index.d.ts +1 -1
  141. package/dist/src/formats/gexf/index.js +2 -2
  142. package/dist/src/formats/gexf/index.js.map +1 -1
  143. package/dist/src/formats/gml/exporter.d.ts +0 -8
  144. package/dist/src/formats/gml/exporter.d.ts.map +1 -1
  145. package/dist/src/formats/gml/exporter.js +8 -18
  146. package/dist/src/formats/gml/exporter.js.map +1 -1
  147. package/dist/src/formats/json/importer.d.ts.map +1 -1
  148. package/dist/src/formats/json/importer.js +6 -104
  149. package/dist/src/formats/json/importer.js.map +1 -1
  150. package/dist/src/formats/xgmml/columns.d.ts +152 -0
  151. package/dist/src/formats/xgmml/columns.d.ts.map +1 -0
  152. package/dist/src/formats/xgmml/columns.js +593 -0
  153. package/dist/src/formats/xgmml/columns.js.map +1 -0
  154. package/dist/src/formats/xgmml/constants.d.ts +196 -0
  155. package/dist/src/formats/xgmml/constants.d.ts.map +1 -0
  156. package/dist/src/formats/xgmml/constants.js +197 -0
  157. package/dist/src/formats/xgmml/constants.js.map +1 -0
  158. package/dist/src/formats/xgmml/document.d.ts +361 -0
  159. package/dist/src/formats/xgmml/document.d.ts.map +1 -0
  160. package/dist/src/formats/xgmml/document.js +695 -0
  161. package/dist/src/formats/xgmml/document.js.map +1 -0
  162. package/dist/src/formats/xgmml/emit.d.ts +341 -0
  163. package/dist/src/formats/xgmml/emit.d.ts.map +1 -0
  164. package/dist/src/formats/xgmml/emit.js +1275 -0
  165. package/dist/src/formats/xgmml/emit.js.map +1 -0
  166. package/dist/src/formats/xgmml/exporter.d.ts +24 -0
  167. package/dist/src/formats/xgmml/exporter.d.ts.map +1 -0
  168. package/dist/src/formats/xgmml/exporter.js +999 -0
  169. package/dist/src/formats/xgmml/exporter.js.map +1 -0
  170. package/dist/src/formats/xgmml/importer.d.ts +58 -0
  171. package/dist/src/formats/xgmml/importer.d.ts.map +1 -0
  172. package/dist/src/formats/xgmml/importer.js +360 -0
  173. package/dist/src/formats/xgmml/importer.js.map +1 -0
  174. package/dist/src/formats/xgmml/index.d.ts +8 -0
  175. package/dist/src/formats/xgmml/index.d.ts.map +1 -0
  176. package/dist/src/formats/xgmml/index.js +8 -0
  177. package/dist/src/formats/xgmml/index.js.map +1 -0
  178. package/dist/src/formats/xgmml/values.d.ts +60 -0
  179. package/dist/src/formats/xgmml/values.d.ts.map +1 -0
  180. package/dist/src/formats/xgmml/values.js +148 -0
  181. package/dist/src/formats/xgmml/values.js.map +1 -0
  182. package/dist/src/index.d.ts +4 -0
  183. package/dist/src/index.d.ts.map +1 -1
  184. package/dist/src/index.js +4 -0
  185. package/dist/src/index.js.map +1 -1
  186. package/dist/src/registry.d.ts +7 -0
  187. package/dist/src/registry.d.ts.map +1 -1
  188. package/dist/src/registry.js +30 -10
  189. package/dist/src/registry.js.map +1 -1
  190. package/dist/src/sniff.d.ts +1 -1
  191. package/dist/src/sniff.d.ts.map +1 -1
  192. package/dist/src/sniff.js +4 -0
  193. package/dist/src/sniff.js.map +1 -1
  194. package/dist/xgmml.d.ts +1 -0
  195. package/dist/xgmml.js +9 -0
  196. package/dist/xgmml.js.map +1 -0
  197. package/package.json +25 -2
  198. package/src/common/cell-budget.ts +170 -0
  199. package/src/common/input.ts +40 -0
  200. package/src/common/json-elements.ts +1147 -0
  201. package/src/common/options.ts +1 -1
  202. package/src/common/xml.ts +127 -6
  203. package/src/common/zip.ts +472 -0
  204. package/src/formats/cx/importer.ts +2733 -0
  205. package/src/formats/cx/index.ts +7 -0
  206. package/src/formats/cx2/exporter.ts +1036 -0
  207. package/src/formats/cx2/importer.ts +2187 -0
  208. package/src/formats/cx2/index.ts +7 -0
  209. package/src/formats/cys/constants.ts +99 -0
  210. package/src/formats/cys/importer.ts +1100 -0
  211. package/src/formats/cys/index.ts +7 -0
  212. package/src/formats/cys/session.ts +428 -0
  213. package/src/formats/cys/tables.ts +400 -0
  214. package/src/formats/dot/exporter.ts +17 -0
  215. package/src/formats/dot/importer.ts +6 -2
  216. package/src/formats/gexf/exporter.ts +11 -0
  217. package/src/formats/gexf/importer.ts +1 -2
  218. package/src/formats/gexf/index.ts +1 -1
  219. package/src/formats/gml/exporter.ts +8 -19
  220. package/src/formats/json/importer.ts +6 -105
  221. package/src/formats/xgmml/columns.ts +747 -0
  222. package/src/formats/xgmml/constants.ts +265 -0
  223. package/src/formats/xgmml/document.ts +975 -0
  224. package/src/formats/xgmml/emit.ts +1563 -0
  225. package/src/formats/xgmml/exporter.ts +1215 -0
  226. package/src/formats/xgmml/importer.ts +491 -0
  227. package/src/formats/xgmml/index.ts +8 -0
  228. package/src/formats/xgmml/values.ts +183 -0
  229. package/src/index.ts +19 -0
  230. package/src/registry.ts +46 -15
  231. package/src/sniff.ts +18 -1
  232. package/dist/chunks/escape-D-gZWO26.js.map +0 -1
  233. package/dist/chunks/importer-Br_QeAeE.js.map +0 -1
  234. package/dist/chunks/importer-Du5crN9l.js.map +0 -1
  235. package/dist/chunks/writer-GAdltGmC.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../../src/formats/cx2/exporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * The CX2 importer (design/graph-io/cytoscape-and-obo/design.md section 1.3; the feature and error
3
+ * inventory is research-cx2.md): the JSON exchange format of NDEx, Cytoscape 3.10+ and Cytoscape
4
+ * Web. A CX2 document is one array: a descriptor (`CXVersion`), aspect blocks (`nodes`, `edges`,
5
+ * `attributeDeclarations`, `networkAttributes`, `nodeBypasses`, `visualProperties`, opaque
6
+ * aspects) and a final `status`.
7
+ *
8
+ * The document is read through the streaming scanner of common/json-elements.ts, so its text is
9
+ * never held as one string; the parsed aspect elements are collected and the graph is built at the
10
+ * end, which makes every aspect order the format allows (declarations after the nodes, edges
11
+ * before their nodes) read the same.
12
+ *
13
+ * Mapping: every edge is directed (CX2 has no undirected edge); node ids follow the CX id rule
14
+ * (design section 1.0.2); declared attributes become typed columns named by their full name, with
15
+ * the alias in `origin.id` and the declared default in `meta.default`; `name` is the label; node
16
+ * `x` / `y` become the position column with y flipped to y-up, `z` the `z` column; per-element
17
+ * bypasses become one column per visual property (origin namespace "cx2.bypass"); style rules
18
+ * (`visualProperties`, `visualEditorProperties`) and every opaque aspect are kept verbatim in
19
+ * `meta.extra.cx2.opaque` and are not applied (W_STYLES_NOT_IMPORTED, issue #706).
20
+ */
21
+ import { type GraphImporter } from "../../types.js";
22
+ /** The format name. */
23
+ export declare const CX2_FORMAT = "cx2";
24
+ /** The node attribute the exporter's `sanitizeIds: "mangle"` keeps an original id in. */
25
+ export declare const ORIGINAL_ID_ATTRIBUTE = "graphty:originalId";
26
+ /** The origin namespace of the per-element visual property columns. */
27
+ export declare const BYPASS_NAMESPACE = "cx2.bypass";
28
+ /** The format-specific options of the CX2 importer. */
29
+ export interface Cx2ImportOptions {
30
+ /**
31
+ * Where a node's `z` goes: "column" (default) keeps it in the f64 node column `z` (Cytoscape
32
+ * writes a stacking order there); "position" makes it the third component of the position.
33
+ */
34
+ zAs?: "column" | "position" | undefined;
35
+ }
36
+ /**
37
+ * The issue codes the CX2 importer records (design section 1.3), by name: the codes shared with
38
+ * the other importers (src/common/codes.ts) and the CX2-specific ones. A key is the code without
39
+ * its severity and format prefixes.
40
+ */
41
+ export declare const CX2_ISSUE: Readonly<{
42
+ /** The input is empty (fatal). */
43
+ EMPTY_INPUT: "E_EMPTY_INPUT";
44
+ /** The text is not JSON (fatal). */
45
+ SYNTAX: "E_SYNTAX";
46
+ /** Invalid UTF-8 (fatal). */
47
+ INVALID_UTF8: "E_INVALID_UTF8";
48
+ /** Invalid bytes in the encoding a BOM or the encoding option chose (fatal). */
49
+ INVALID_ENCODING: "E_INVALID_ENCODING";
50
+ /** Bytes that are not UTF-8 were read as windows-1252. */
51
+ ENCODING_FALLBACK: "W_ENCODING_FALLBACK";
52
+ /** An encoding the platform cannot decode was ignored. */
53
+ UNKNOWN_ENCODING: "W_UNKNOWN_ENCODING";
54
+ /** The document is not an array or does not start with a descriptor holding CXVersion (fatal). */
55
+ NO_DESCRIPTOR: "E_CX2_NO_DESCRIPTOR";
56
+ /** CXVersion names a major version other than 2 (fatal); "1.x" says the file is CX1. */
57
+ VERSION: "E_CX2_VERSION";
58
+ /** CXVersion is a 2.x other than "2.0" (or not a string); the document is read. */
59
+ MINOR_VERSION: "W_CX2_MINOR_VERSION";
60
+ /** The document has no status block, or a malformed one. */
61
+ NO_STATUS: "E_CX2_NO_STATUS";
62
+ /** The producer marked the document as failed (fatal). */
63
+ STATUS_FAILED: "E_STATUS_FAILED";
64
+ /** The producer marked the document as successful with an error text. */
65
+ STATUS_WARNING: "W_STATUS_WARNING";
66
+ /** An aspect appears in several blocks although the descriptor does not declare fragments. */
67
+ UNDECLARED_FRAGMENTS: "W_CX2_UNDECLARED_FRAGMENTS";
68
+ /** An attribute declared twice with two different types; the first declaration wins. */
69
+ DECLARATION_CONFLICT: "E_CX2_DECLARATION_CONFLICT";
70
+ /** An attribute value whose name no declaration covers; its column is inferred. */
71
+ UNDECLARED_ATTRIBUTE: "W_CX2_UNDECLARED_ATTRIBUTE";
72
+ /** A node or edge attribute named `id`, which the specification reserves. */
73
+ RESERVED_KEY: "W_CX2_RESERVED_KEY";
74
+ /** An alias that is another attribute's name or another attribute's alias; the alias is ignored. */
75
+ ALIAS_CONFLICT: "E_CX2_ALIAS_CONFLICT";
76
+ /** A network attribute declaration with an alias or a default, which CX2 forbids; both ignored. */
77
+ NETWORK_DECLARATION: "W_CX2_NETWORK_DECLARATION";
78
+ /** An aspect that holds one element holds several; the first is read. */
79
+ EXTRA_ELEMENTS: "W_CX2_EXTRA_ELEMENTS";
80
+ /** Some nodes have coordinates and others none, or a node has x without y. */
81
+ PARTIAL_LAYOUT: "W_CX2_PARTIAL_LAYOUT";
82
+ /** A full attribute name used where its alias is declared; read as the same attribute. */
83
+ ALIAS_BYPASSED: "W_CX2_ALIAS_BYPASSED";
84
+ /** A CX1 cartesianLayout aspect next to node coordinates; kept, not applied. */
85
+ LEGACY_LAYOUT: "W_CX2_LEGACY_LAYOUT";
86
+ /** The file's style rules are not applied (issue #706). */
87
+ STYLES_NOT_IMPORTED: "W_STYLES_NOT_IMPORTED";
88
+ /** A member of the top-level array that is not a one-key aspect block, or an element that is not an object. */
89
+ BAD_ASPECT_BLOCK: "E_BAD_ASPECT_BLOCK";
90
+ /** An aspect out of its place (after the post-metadata or the status, a third metaData, late declarations). */
91
+ ASPECT_ORDER: "W_ASPECT_ORDER";
92
+ /** A metaData element count disagrees with what was read. */
93
+ COUNT_MISMATCH: "W_COUNT_MISMATCH";
94
+ /** A value that does not match its declared type; the cell is unset. */
95
+ BAD_VALUE: "E_BAD_VALUE";
96
+ /** A declared default that does not match its type. */
97
+ BAD_DEFAULT: "W_BAD_DEFAULT";
98
+ /** A declared type CX2 does not define; the column is inferred from the values. */
99
+ UNKNOWN_ATTR_TYPE: "W_UNKNOWN_ATTR_TYPE";
100
+ /** A bypass or a layout entry naming no node or edge. */
101
+ DANGLING_REFERENCE: "W_DANGLING_REFERENCE";
102
+ /** The same attribute twice on one element (its alias and its full name). */
103
+ DUPLICATE_ATTRIBUTE: "W_DUPLICATE_ATTRIBUTE";
104
+ /** A node without an id. */
105
+ MISSING_ID: "E_MISSING_ID";
106
+ /** An edge without s or t. */
107
+ MISSING_ENDPOINT: "E_MISSING_ENDPOINT";
108
+ /** A node id declared twice; the second merges into the first. */
109
+ DUPLICATE_NODE: "W_DUPLICATE_NODE";
110
+ /** An edge id declared twice; the second edge is skipped. */
111
+ DUPLICATE_EDGE_ID: "E_DUPLICATE_EDGE_ID";
112
+ /** An id that is not an integer. */
113
+ INVALID_ID: "E_INVALID_ID";
114
+ /** An edge endpoint naming no node (addMissingNodes false, the default). */
115
+ UNKNOWN_NODE: "E_UNKNOWN_NODE";
116
+ /** A weight that is not a number. */
117
+ INVALID_WEIGHT: "E_INVALID_WEIGHT";
118
+ /** An id spelled as a string or a non-integer literal; read as the integer. */
119
+ ID_TEXT_TYPE: "W_ID_TEXT_TYPE";
120
+ /** An integer beyond 2^53: an id kept as its digits, a value stored as the nearest f64. */
121
+ PRECISION: "W_PRECISION";
122
+ /** Two id texts merged under `ids: "number"`. */
123
+ ID_MERGED: "W_ID_MERGED";
124
+ /** An element key CX2 does not define. */
125
+ UNKNOWN_ELEMENT: "W_UNKNOWN_ELEMENT";
126
+ /** A column renamed because its name was taken. */
127
+ COLUMN_RENAMED: "W_COLUMN_RENAMED";
128
+ /** A column that lost its role because another column holds it. */
129
+ ROLE_TAKEN: "W_ROLE_TAKEN";
130
+ /** The sink refused the direction. */
131
+ DIRECTION_REFUSED: "W_DIRECTION_REFUSED";
132
+ /** Edges forced to the policy's direction. */
133
+ DIRECTION_FORCED: "W_DIRECTION_FORCED";
134
+ /** A common option CX2 has no use for. */
135
+ OPTION_IGNORED: "W_OPTION_IGNORED";
136
+ /** A builder option the caller's sink does not honour. */
137
+ SINK_OPTION: "W_SINK_OPTION";
138
+ /** The input is beyond a size limit (fatal). */
139
+ TOO_LARGE: "E_TOO_LARGE";
140
+ }>;
141
+ /** The canonical CX2 scalar types. */
142
+ type Cx2Scalar = "string" | "long" | "integer" | "double" | "boolean";
143
+ /** A declared CX2 type. */
144
+ interface Cx2Type {
145
+ /** The canonical type text (`list_of_double`). */
146
+ readonly d: string;
147
+ /** The scalar (or item) type. */
148
+ readonly scalar: Cx2Scalar;
149
+ /** Whether the type is a list. */
150
+ readonly list: boolean;
151
+ }
152
+ /**
153
+ * Resolve a declared type text.
154
+ * @param d - the `d` value
155
+ * @returns the type, or null when CX2 does not define it
156
+ */
157
+ export declare function cx2Type(d: string): Cx2Type | null;
158
+ /**
159
+ * Resolve the zAs option.
160
+ * @param value - the option
161
+ * @returns the mode; E_UNSUPPORTED for any other value
162
+ */
163
+ export declare function zAsOption(value: unknown): "column" | "position";
164
+ /**
165
+ * The CX2 importer plugin (design section 1.3).
166
+ */
167
+ export declare const cx2Importer: GraphImporter<Cx2ImportOptions>;
168
+ export {};
169
+ //# sourceMappingURL=importer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/cx2/importer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA4EH,OAAO,EAA4B,KAAK,aAAa,EAAuC,MAAM,gBAAgB,CAAC;AAEnH,uBAAuB;AACvB,eAAO,MAAM,UAAU,QAAQ,CAAC;AAEhC,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAE1D,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAE7C,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CAC3C;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS;IAClB,kCAAkC;;IAElC,oCAAoC;;IAEpC,6BAA6B;;IAE7B,gFAAgF;;IAEhF,0DAA0D;;IAE1D,0DAA0D;;IAE1D,kGAAkG;;IAElG,wFAAwF;;IAExF,mFAAmF;;IAEnF,4DAA4D;;IAE5D,0DAA0D;;IAE1D,yEAAyE;;IAEzE,8FAA8F;;IAE9F,wFAAwF;;IAExF,mFAAmF;;IAEnF,6EAA6E;;IAE7E,oGAAoG;;IAEpG,mGAAmG;;IAEnG,yEAAyE;;IAEzE,8EAA8E;;IAE9E,0FAA0F;;IAE1F,gFAAgF;;IAEhF,2DAA2D;;IAE3D,+GAA+G;;IAE/G,+GAA+G;;IAE/G,6DAA6D;;IAE7D,wEAAwE;;IAExE,uDAAuD;;IAEvD,mFAAmF;;IAEnF,yDAAyD;;IAEzD,6EAA6E;;IAE7E,4BAA4B;;IAE5B,8BAA8B;;IAE9B,kEAAkE;;IAElE,6DAA6D;;IAE7D,oCAAoC;;IAEpC,4EAA4E;;IAE5E,qCAAqC;;IAErC,+EAA+E;;IAE/E,2FAA2F;;IAE3F,iDAAiD;;IAEjD,0CAA0C;;IAE1C,mDAAmD;;IAEnD,mEAAmE;;IAEnE,sCAAsC;;IAEtC,8CAA8C;;IAE9C,0CAA0C;;IAE1C,0DAA0D;;IAE1D,gDAAgD;;EAElD,CAAC;AAgDH,sCAAsC;AACtC,KAAK,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEtE,2BAA2B;AAC3B,UAAU,OAAO;IACb,kDAAkD;IAClD,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CAC1B;AAeD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAOjD;AA4xDD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAW/D;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAwCtD,CAAC"}