@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.
- package/README.md +80 -2
- package/dist/chunks/{escape-D-gZWO26.js → escape-B-tkk_Cl.js} +74 -16
- package/dist/chunks/escape-B-tkk_Cl.js.map +1 -0
- package/dist/chunks/{writer-GAdltGmC.js → export-Bh60Dv-n.js} +7 -252
- package/dist/chunks/export-Bh60Dv-n.js.map +1 -0
- package/dist/chunks/exporter-BGrsWamJ.js +736 -0
- package/dist/chunks/exporter-BGrsWamJ.js.map +1 -0
- package/dist/chunks/exporter-DIeGJXAZ.js +834 -0
- package/dist/chunks/exporter-DIeGJXAZ.js.map +1 -0
- package/dist/chunks/{importer-Br_QeAeE.js → importer-BWY2FFc5.js} +28 -6
- package/dist/chunks/importer-BWY2FFc5.js.map +1 -0
- package/dist/chunks/importer-BaQpCEcJ.js +2194 -0
- package/dist/chunks/importer-BaQpCEcJ.js.map +1 -0
- package/dist/chunks/importer-DD-xv9_Y.js +1471 -0
- package/dist/chunks/importer-DD-xv9_Y.js.map +1 -0
- package/dist/chunks/{importer-aNJfe0qu.js → importer-DEcKhsmQ.js} +2 -2
- package/dist/chunks/{importer-aNJfe0qu.js.map → importer-DEcKhsmQ.js.map} +1 -1
- package/dist/chunks/{importer-DHagxvDD.js → importer-DIrbbnAf.js} +6 -4
- package/dist/chunks/{importer-DHagxvDD.js.map → importer-DIrbbnAf.js.map} +1 -1
- package/dist/chunks/importer-D_e7e7LX.js +3055 -0
- package/dist/chunks/importer-D_e7e7LX.js.map +1 -0
- package/dist/chunks/{importer-Du5crN9l.js → importer-Wv4C4gaF.js} +278 -82
- package/dist/chunks/importer-Wv4C4gaF.js.map +1 -0
- package/dist/chunks/importer-vi3bSdtw.js +1713 -0
- package/dist/chunks/importer-vi3bSdtw.js.map +1 -0
- package/dist/chunks/{importer-d0uQxFp6.js → importer-zGLo8Dg_.js} +6 -4
- package/dist/chunks/{importer-d0uQxFp6.js.map → importer-zGLo8Dg_.js.map} +1 -1
- package/dist/chunks/json-elements-DDS8N2Dd.js +779 -0
- package/dist/chunks/json-elements-DDS8N2Dd.js.map +1 -0
- package/dist/chunks/{records-Bk9jgodz.js → records-dbRkxwaq.js} +2 -2
- package/dist/chunks/{records-Bk9jgodz.js.map → records-dbRkxwaq.js.map} +1 -1
- package/dist/chunks/{report-BOk0p5y8.js → report-B1z4WT9e.js} +143 -111
- package/dist/chunks/{report-BOk0p5y8.js.map → report-B1z4WT9e.js.map} +1 -1
- package/dist/chunks/weights-Dzba96G3.js +176 -0
- package/dist/chunks/weights-Dzba96G3.js.map +1 -0
- package/dist/chunks/writer-C7flM-Ih.js +77 -0
- package/dist/chunks/writer-C7flM-Ih.js.map +1 -0
- package/dist/csv.js +6 -4
- package/dist/csv.js.map +1 -1
- package/dist/cx.d.ts +1 -0
- package/dist/cx.js +6 -0
- package/dist/cx.js.map +1 -0
- package/dist/cx2.d.ts +1 -0
- package/dist/cx2.js +10 -0
- package/dist/cx2.js.map +1 -0
- package/dist/cys.d.ts +1 -0
- package/dist/cys.js +6 -0
- package/dist/cys.js.map +1 -0
- package/dist/dot.js +1 -1
- package/dist/gexf.js +16 -4
- package/dist/gexf.js.map +1 -1
- package/dist/gml.js +13 -14
- package/dist/gml.js.map +1 -1
- package/dist/graph-io.js +302 -399
- package/dist/graph-io.js.map +1 -1
- package/dist/graphml.js +1 -1
- package/dist/json.js +1 -1
- package/dist/neo4j.js +6 -4
- package/dist/neo4j.js.map +1 -1
- package/dist/obo.js +1 -1
- package/dist/pajek.js +1 -1
- package/dist/src/common/cell-budget.d.ts +84 -0
- package/dist/src/common/cell-budget.d.ts.map +1 -0
- package/dist/src/common/cell-budget.js +138 -0
- package/dist/src/common/cell-budget.js.map +1 -0
- package/dist/src/common/input.d.ts +10 -0
- package/dist/src/common/input.d.ts.map +1 -1
- package/dist/src/common/input.js +39 -0
- package/dist/src/common/input.js.map +1 -1
- package/dist/src/common/json-elements.d.ts +286 -0
- package/dist/src/common/json-elements.d.ts.map +1 -0
- package/dist/src/common/json-elements.js +926 -0
- package/dist/src/common/json-elements.js.map +1 -0
- package/dist/src/common/options.d.ts +6 -0
- package/dist/src/common/options.d.ts.map +1 -1
- package/dist/src/common/options.js +1 -1
- package/dist/src/common/options.js.map +1 -1
- package/dist/src/common/xml.d.ts +37 -3
- package/dist/src/common/xml.d.ts.map +1 -1
- package/dist/src/common/xml.js +86 -6
- package/dist/src/common/xml.js.map +1 -1
- package/dist/src/common/zip.d.ts +92 -0
- package/dist/src/common/zip.d.ts.map +1 -0
- package/dist/src/common/zip.js +399 -0
- package/dist/src/common/zip.js.map +1 -0
- package/dist/src/formats/cx/importer.d.ts +133 -0
- package/dist/src/formats/cx/importer.d.ts.map +1 -0
- package/dist/src/formats/cx/importer.js +2220 -0
- package/dist/src/formats/cx/importer.js.map +1 -0
- package/dist/src/formats/cx/index.d.ts +7 -0
- package/dist/src/formats/cx/index.d.ts.map +1 -0
- package/dist/src/formats/cx/index.js +7 -0
- package/dist/src/formats/cx/index.js.map +1 -0
- package/dist/src/formats/cx2/exporter.d.ts +59 -0
- package/dist/src/formats/cx2/exporter.d.ts.map +1 -0
- package/dist/src/formats/cx2/exporter.js +864 -0
- package/dist/src/formats/cx2/exporter.js.map +1 -0
- package/dist/src/formats/cx2/importer.d.ts +169 -0
- package/dist/src/formats/cx2/importer.d.ts.map +1 -0
- package/dist/src/formats/cx2/importer.js +1652 -0
- package/dist/src/formats/cx2/importer.js.map +1 -0
- package/dist/src/formats/cx2/index.d.ts +7 -0
- package/dist/src/formats/cx2/index.d.ts.map +1 -0
- package/dist/src/formats/cx2/index.js +7 -0
- package/dist/src/formats/cx2/index.js.map +1 -0
- package/dist/src/formats/cys/constants.d.ts +68 -0
- package/dist/src/formats/cys/constants.d.ts.map +1 -0
- package/dist/src/formats/cys/constants.js +76 -0
- package/dist/src/formats/cys/constants.js.map +1 -0
- package/dist/src/formats/cys/importer.d.ts +38 -0
- package/dist/src/formats/cys/importer.d.ts.map +1 -0
- package/dist/src/formats/cys/importer.js +830 -0
- package/dist/src/formats/cys/importer.js.map +1 -0
- package/dist/src/formats/cys/index.d.ts +7 -0
- package/dist/src/formats/cys/index.d.ts.map +1 -0
- package/dist/src/formats/cys/index.js +7 -0
- package/dist/src/formats/cys/index.js.map +1 -0
- package/dist/src/formats/cys/session.d.ts +132 -0
- package/dist/src/formats/cys/session.d.ts.map +1 -0
- package/dist/src/formats/cys/session.js +315 -0
- package/dist/src/formats/cys/session.js.map +1 -0
- package/dist/src/formats/cys/tables.d.ts +90 -0
- package/dist/src/formats/cys/tables.d.ts.map +1 -0
- package/dist/src/formats/cys/tables.js +293 -0
- package/dist/src/formats/cys/tables.js.map +1 -0
- package/dist/src/formats/dot/exporter.d.ts +2 -0
- package/dist/src/formats/dot/exporter.d.ts.map +1 -1
- package/dist/src/formats/dot/exporter.js +12 -0
- package/dist/src/formats/dot/exporter.js.map +1 -1
- package/dist/src/formats/dot/importer.js +6 -2
- package/dist/src/formats/dot/importer.js.map +1 -1
- package/dist/src/formats/gexf/exporter.d.ts +2 -0
- package/dist/src/formats/gexf/exporter.d.ts.map +1 -1
- package/dist/src/formats/gexf/exporter.js +6 -0
- package/dist/src/formats/gexf/exporter.js.map +1 -1
- package/dist/src/formats/gexf/importer.d.ts +0 -2
- package/dist/src/formats/gexf/importer.d.ts.map +1 -1
- package/dist/src/formats/gexf/importer.js +1 -3
- package/dist/src/formats/gexf/importer.js.map +1 -1
- package/dist/src/formats/gexf/index.d.ts +1 -1
- package/dist/src/formats/gexf/index.js +2 -2
- package/dist/src/formats/gexf/index.js.map +1 -1
- package/dist/src/formats/gml/exporter.d.ts +0 -8
- package/dist/src/formats/gml/exporter.d.ts.map +1 -1
- package/dist/src/formats/gml/exporter.js +8 -18
- package/dist/src/formats/gml/exporter.js.map +1 -1
- package/dist/src/formats/json/importer.d.ts.map +1 -1
- package/dist/src/formats/json/importer.js +6 -104
- package/dist/src/formats/json/importer.js.map +1 -1
- package/dist/src/formats/xgmml/columns.d.ts +152 -0
- package/dist/src/formats/xgmml/columns.d.ts.map +1 -0
- package/dist/src/formats/xgmml/columns.js +593 -0
- package/dist/src/formats/xgmml/columns.js.map +1 -0
- package/dist/src/formats/xgmml/constants.d.ts +196 -0
- package/dist/src/formats/xgmml/constants.d.ts.map +1 -0
- package/dist/src/formats/xgmml/constants.js +197 -0
- package/dist/src/formats/xgmml/constants.js.map +1 -0
- package/dist/src/formats/xgmml/document.d.ts +361 -0
- package/dist/src/formats/xgmml/document.d.ts.map +1 -0
- package/dist/src/formats/xgmml/document.js +695 -0
- package/dist/src/formats/xgmml/document.js.map +1 -0
- package/dist/src/formats/xgmml/emit.d.ts +341 -0
- package/dist/src/formats/xgmml/emit.d.ts.map +1 -0
- package/dist/src/formats/xgmml/emit.js +1275 -0
- package/dist/src/formats/xgmml/emit.js.map +1 -0
- package/dist/src/formats/xgmml/exporter.d.ts +24 -0
- package/dist/src/formats/xgmml/exporter.d.ts.map +1 -0
- package/dist/src/formats/xgmml/exporter.js +999 -0
- package/dist/src/formats/xgmml/exporter.js.map +1 -0
- package/dist/src/formats/xgmml/importer.d.ts +58 -0
- package/dist/src/formats/xgmml/importer.d.ts.map +1 -0
- package/dist/src/formats/xgmml/importer.js +360 -0
- package/dist/src/formats/xgmml/importer.js.map +1 -0
- package/dist/src/formats/xgmml/index.d.ts +8 -0
- package/dist/src/formats/xgmml/index.d.ts.map +1 -0
- package/dist/src/formats/xgmml/index.js +8 -0
- package/dist/src/formats/xgmml/index.js.map +1 -0
- package/dist/src/formats/xgmml/values.d.ts +60 -0
- package/dist/src/formats/xgmml/values.d.ts.map +1 -0
- package/dist/src/formats/xgmml/values.js +148 -0
- package/dist/src/formats/xgmml/values.js.map +1 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/registry.d.ts +7 -0
- package/dist/src/registry.d.ts.map +1 -1
- package/dist/src/registry.js +30 -10
- package/dist/src/registry.js.map +1 -1
- package/dist/src/sniff.d.ts +1 -1
- package/dist/src/sniff.d.ts.map +1 -1
- package/dist/src/sniff.js +4 -0
- package/dist/src/sniff.js.map +1 -1
- package/dist/xgmml.d.ts +1 -0
- package/dist/xgmml.js +9 -0
- package/dist/xgmml.js.map +1 -0
- package/package.json +25 -2
- package/src/common/cell-budget.ts +170 -0
- package/src/common/input.ts +40 -0
- package/src/common/json-elements.ts +1147 -0
- package/src/common/options.ts +1 -1
- package/src/common/xml.ts +127 -6
- package/src/common/zip.ts +472 -0
- package/src/formats/cx/importer.ts +2733 -0
- package/src/formats/cx/index.ts +7 -0
- package/src/formats/cx2/exporter.ts +1036 -0
- package/src/formats/cx2/importer.ts +2187 -0
- package/src/formats/cx2/index.ts +7 -0
- package/src/formats/cys/constants.ts +99 -0
- package/src/formats/cys/importer.ts +1100 -0
- package/src/formats/cys/index.ts +7 -0
- package/src/formats/cys/session.ts +428 -0
- package/src/formats/cys/tables.ts +400 -0
- package/src/formats/dot/exporter.ts +17 -0
- package/src/formats/dot/importer.ts +6 -2
- package/src/formats/gexf/exporter.ts +11 -0
- package/src/formats/gexf/importer.ts +1 -2
- package/src/formats/gexf/index.ts +1 -1
- package/src/formats/gml/exporter.ts +8 -19
- package/src/formats/json/importer.ts +6 -105
- package/src/formats/xgmml/columns.ts +747 -0
- package/src/formats/xgmml/constants.ts +265 -0
- package/src/formats/xgmml/document.ts +975 -0
- package/src/formats/xgmml/emit.ts +1563 -0
- package/src/formats/xgmml/exporter.ts +1215 -0
- package/src/formats/xgmml/importer.ts +491 -0
- package/src/formats/xgmml/index.ts +8 -0
- package/src/formats/xgmml/values.ts +183 -0
- package/src/index.ts +19 -0
- package/src/registry.ts +46 -15
- package/src/sniff.ts +18 -1
- package/dist/chunks/escape-D-gZWO26.js.map +0 -1
- package/dist/chunks/importer-Br_QeAeE.js.map +0 -1
- package/dist/chunks/importer-Du5crN9l.js.map +0 -1
- package/dist/chunks/writer-GAdltGmC.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../../src/formats/xgmml/exporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The XGMML importer (design `design/graph-io/cytoscape-and-obo/design.md` section 1.1;
|
|
3
|
+
* `research-xgmml.md`): one reader for the 1.0 draft, the Cytoscape 2.x and 3.x exports and the
|
|
4
|
+
* Cytoscape 3 session network files. The document is read in one pass of the shared XML tokenizer
|
|
5
|
+
* into records (document.ts), and resolved into the sink once the outermost `</graph>` closes
|
|
6
|
+
* (emit.ts), so forward references and edges before their nodes need nothing special.
|
|
7
|
+
*
|
|
8
|
+
* Direction follows the specification: the root `directed` (0 by the DTD, else the
|
|
9
|
+
* `defaultDirected` option), then `cy:directed` per edge, overruling Cytoscape, which ignores the
|
|
10
|
+
* root attribute. Ids are kept as written (`ids: "keep"`), so `"1"`, `"01"` and `" 1 "` stay three
|
|
11
|
+
* nodes. Positions are stored y-up (Cytoscape writes screen coordinates). Graphics values are kept
|
|
12
|
+
* as a json column, never interpreted (style import is issue #706).
|
|
13
|
+
*/
|
|
14
|
+
import { type ResolvedImportOptions } from "../../common/options.js";
|
|
15
|
+
import { ImportReportBuilder } from "../../common/report.js";
|
|
16
|
+
import { type GraphChoiceOptions, type GraphImporter, type ImportInput } from "../../types.js";
|
|
17
|
+
import { type XgmmlDocument } from "./document.js";
|
|
18
|
+
import { type XgmmlSettings } from "./emit.js";
|
|
19
|
+
/** The format-specific options of the XGMML importer. */
|
|
20
|
+
export interface XgmmlImportOptions extends GraphChoiceOptions {
|
|
21
|
+
/**
|
|
22
|
+
* Resolve an edge endpoint that is missing or names no node through Cytoscape's
|
|
23
|
+
* `"source (interaction) target"` edge label, and fill a missing interaction from it. Default:
|
|
24
|
+
* on for files that use the Cytoscape (`cy`) namespace, off otherwise.
|
|
25
|
+
*/
|
|
26
|
+
labelAliases?: boolean | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Decode Cytoscape's two-character `\n` and `\t` escapes in string values. Default: on for
|
|
29
|
+
* files that use the Cytoscape namespace, off otherwise.
|
|
30
|
+
*/
|
|
31
|
+
cytoscapeEscapes?: boolean | undefined;
|
|
32
|
+
/** Read an `&` not followed by `;` within 7 characters as `&` (warned per occurrence). Default false. */
|
|
33
|
+
repairBareAmpersands?: boolean | undefined;
|
|
34
|
+
/** Join two surrogate character references into one character (warned per pair). Default false. */
|
|
35
|
+
pairSurrogateReferences?: boolean | undefined;
|
|
36
|
+
/** Where Cytoscape's z (a stacking order) goes: the `z` column (default) or the position. */
|
|
37
|
+
zAs?: "column" | "position" | undefined;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The XGMML option values, checked.
|
|
41
|
+
* @param options - the caller's options
|
|
42
|
+
* @param cytoscape - whether the document uses the Cytoscape namespace
|
|
43
|
+
* @returns the settings; E_UNSUPPORTED for a value of the wrong type
|
|
44
|
+
*/
|
|
45
|
+
export declare function resolveSettings(options: XgmmlImportOptions | undefined, cytoscape: boolean): XgmmlSettings;
|
|
46
|
+
/**
|
|
47
|
+
* Read an XGMML document into records. Fatal conditions (not XML, not a graph, empty) fail the
|
|
48
|
+
* report.
|
|
49
|
+
* @param input - the input
|
|
50
|
+
* @param report - the report
|
|
51
|
+
* @param common - the resolved common options
|
|
52
|
+
* @param options - the XGMML options (for the repairs)
|
|
53
|
+
* @returns the document
|
|
54
|
+
*/
|
|
55
|
+
export declare function parseXgmml(input: ImportInput, report: ImportReportBuilder, common: ResolvedImportOptions, options: XgmmlImportOptions | undefined): Promise<XgmmlDocument>;
|
|
56
|
+
/** The XGMML importer. */
|
|
57
|
+
export declare const xgmmlImporter: GraphImporter<XgmmlImportOptions>;
|
|
58
|
+
//# sourceMappingURL=importer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/xgmml/importer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAKH,KAAK,qBAAqB,EAE7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAEH,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAElB,KAAK,WAAW,EAEnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAiB,KAAK,aAAa,EAAe,MAAM,eAAe,CAAC;AAC/E,OAAO,EAOH,KAAK,aAAa,EACrB,MAAM,WAAW,CAAC;AAEnB,yDAAyD;AACzD,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC1D;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,6GAA6G;IAC7G,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3C,mGAAmG;IACnG,uBAAuB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C,6FAA6F;IAC7F,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CAC3C;AAoCD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,EAAE,SAAS,EAAE,OAAO,GAAG,aAAa,CAiB1G;AAsBD;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC5B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,kBAAkB,GAAG,SAAS,GACxC,OAAO,CAAC,aAAa,CAAC,CA6CxB;AAmRD,0BAA0B;AAC1B,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,kBAAkB,CAQ1D,CAAC"}
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The XGMML importer (design `design/graph-io/cytoscape-and-obo/design.md` section 1.1;
|
|
3
|
+
* `research-xgmml.md`): one reader for the 1.0 draft, the Cytoscape 2.x and 3.x exports and the
|
|
4
|
+
* Cytoscape 3 session network files. The document is read in one pass of the shared XML tokenizer
|
|
5
|
+
* into records (document.ts), and resolved into the sink once the outermost `</graph>` closes
|
|
6
|
+
* (emit.ts), so forward references and edges before their nodes need nothing special.
|
|
7
|
+
*
|
|
8
|
+
* Direction follows the specification: the root `directed` (0 by the DTD, else the
|
|
9
|
+
* `defaultDirected` option), then `cy:directed` per edge, overruling Cytoscape, which ignores the
|
|
10
|
+
* root attribute. Ids are kept as written (`ids: "keep"`), so `"1"`, `"01"` and `" 1 "` stay three
|
|
11
|
+
* nodes. Positions are stored y-up (Cytoscape writes screen coordinates). Graphics values are kept
|
|
12
|
+
* as a json column, never interpreted (style import is issue #706).
|
|
13
|
+
*/
|
|
14
|
+
import { GraphFormatError } from "@graphty/graph-format";
|
|
15
|
+
import { textChunks, throwIfAborted } from "../../common/input.js";
|
|
16
|
+
import { chooseGraph, reportSinkOptions, reportUnusedOptions, resolveImportOptions, } from "../../common/options.js";
|
|
17
|
+
import { ImportReportBuilder } from "../../common/report.js";
|
|
18
|
+
import { isWhitespace, tokenizeXml, xmlDeclaredEncoding, XmlSyntaxError } from "../../common/xml.js";
|
|
19
|
+
import { EXTENSIONS, FORMAT, MIME_TYPES, XGMML_ISSUE } from "./constants.js";
|
|
20
|
+
import { XgmmlParser } from "./document.js";
|
|
21
|
+
import { dialectOf, graphsOf, membersOf, XgmmlEmitter, } from "./emit.js";
|
|
22
|
+
/** The per-format defaults: ids as written, undirected by the DTD, the edge `weight` attribute. */
|
|
23
|
+
const FORMAT_DEFAULTS = {
|
|
24
|
+
ids: "keep",
|
|
25
|
+
defaultDirected: false,
|
|
26
|
+
weightFrom: "weight",
|
|
27
|
+
addMissingNodes: false,
|
|
28
|
+
};
|
|
29
|
+
/** The common options the XGMML importer reads. */
|
|
30
|
+
const USED_OPTIONS = new Set([
|
|
31
|
+
"ids",
|
|
32
|
+
"addMissingNodes",
|
|
33
|
+
"duplicateEdges",
|
|
34
|
+
"selfLoops",
|
|
35
|
+
"onMixedDirection",
|
|
36
|
+
"defaultDirected",
|
|
37
|
+
"weightFrom",
|
|
38
|
+
"weightDtype",
|
|
39
|
+
"long",
|
|
40
|
+
"errorLimit",
|
|
41
|
+
"signal",
|
|
42
|
+
"onProgress",
|
|
43
|
+
"encoding",
|
|
44
|
+
]);
|
|
45
|
+
/** Bytes inspected by sniff(). */
|
|
46
|
+
const SNIFF_BYTES = 4096;
|
|
47
|
+
/** The head of the document kept for the DOCTYPE check. */
|
|
48
|
+
const HEAD_CHARS = 2048;
|
|
49
|
+
/** An XGMML DOCTYPE (Cytoscape's file filter tests the same). */
|
|
50
|
+
const XGMML_DOCTYPE = /<!DOCTYPE\s+graph\s[^<>]*xgmml\.dtd/i;
|
|
51
|
+
/**
|
|
52
|
+
* The XGMML option values, checked.
|
|
53
|
+
* @param options - the caller's options
|
|
54
|
+
* @param cytoscape - whether the document uses the Cytoscape namespace
|
|
55
|
+
* @returns the settings; E_UNSUPPORTED for a value of the wrong type
|
|
56
|
+
*/
|
|
57
|
+
export function resolveSettings(options, cytoscape) {
|
|
58
|
+
const zAs = options?.zAs ?? "column";
|
|
59
|
+
if (zAs !== "column" && zAs !== "position") {
|
|
60
|
+
throw new GraphFormatError("E_UNSUPPORTED", `option zAs: ${JSON.stringify(zAs)} is not "column" or "position"`, {
|
|
61
|
+
option: "zAs",
|
|
62
|
+
found: zAs,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
labelAliases: booleanOption("labelAliases", options?.labelAliases, cytoscape),
|
|
67
|
+
cytoscapeEscapes: booleanOption("cytoscapeEscapes", options?.cytoscapeEscapes, cytoscape),
|
|
68
|
+
zAs,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* One boolean option.
|
|
73
|
+
* @param name - the option name
|
|
74
|
+
* @param value - the caller's value
|
|
75
|
+
* @param fallback - the default
|
|
76
|
+
* @returns the value; E_UNSUPPORTED when not a boolean
|
|
77
|
+
*/
|
|
78
|
+
function booleanOption(name, value, fallback) {
|
|
79
|
+
if (value === undefined) {
|
|
80
|
+
return fallback;
|
|
81
|
+
}
|
|
82
|
+
if (typeof value !== "boolean") {
|
|
83
|
+
throw new GraphFormatError("E_UNSUPPORTED", `option ${name}: ${JSON.stringify(value)} is not a boolean`, {
|
|
84
|
+
option: name,
|
|
85
|
+
found: value,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return value;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Read an XGMML document into records. Fatal conditions (not XML, not a graph, empty) fail the
|
|
92
|
+
* report.
|
|
93
|
+
* @param input - the input
|
|
94
|
+
* @param report - the report
|
|
95
|
+
* @param common - the resolved common options
|
|
96
|
+
* @param options - the XGMML options (for the repairs)
|
|
97
|
+
* @returns the document
|
|
98
|
+
*/
|
|
99
|
+
export async function parseXgmml(input, report, common, options) {
|
|
100
|
+
const repairs = {
|
|
101
|
+
bareAmpersand: booleanOption("repairBareAmpersands", options?.repairBareAmpersands, false)
|
|
102
|
+
? (line) => {
|
|
103
|
+
report.warning("parse-error", XGMML_ISSUE.AMPERSAND_REPAIRED, "a bare & was read as &", { line });
|
|
104
|
+
}
|
|
105
|
+
: undefined,
|
|
106
|
+
surrogatePair: booleanOption("pairSurrogateReferences", options?.pairSurrogateReferences, false)
|
|
107
|
+
? (line) => {
|
|
108
|
+
report.warning("parse-error", XGMML_ISSUE.SURROGATE_PAIRED, "two surrogate character references were joined into one character", { line });
|
|
109
|
+
}
|
|
110
|
+
: undefined,
|
|
111
|
+
};
|
|
112
|
+
const parser = new XgmmlParser(report);
|
|
113
|
+
const seen = { head: "", content: false };
|
|
114
|
+
try {
|
|
115
|
+
await tokenizeXml(watch(textChunks(input, report, { ...common, declaredEncoding: xmlDeclaredEncoding }), seen), parser, repairs);
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
if (err instanceof XmlSyntaxError) {
|
|
119
|
+
if (!seen.content) {
|
|
120
|
+
report.fail(XGMML_ISSUE.EMPTY_INPUT, "the input is empty");
|
|
121
|
+
}
|
|
122
|
+
report.fail(XGMML_ISSUE.XML_SYNTAX, err.message, { line: err.line });
|
|
123
|
+
}
|
|
124
|
+
throw err;
|
|
125
|
+
}
|
|
126
|
+
const doc = parser.document();
|
|
127
|
+
if (!doc.xgmmlNamespace && !XGMML_DOCTYPE.test(seen.head)) {
|
|
128
|
+
report.warning("validation-error", XGMML_ISSUE.NO_NAMESPACE, "the root <graph> has neither the XGMML namespace nor an XGMML DOCTYPE; it is read as XGMML", { line: doc.root.line });
|
|
129
|
+
}
|
|
130
|
+
return doc;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Pass text chunks through while keeping the head and noting non-whitespace content.
|
|
134
|
+
* @param chunks - the chunks
|
|
135
|
+
* @param seen - where the head and the content flag are kept
|
|
136
|
+
* @param seen.head - the first characters of the document
|
|
137
|
+
* @param seen.content - whether non-whitespace text was seen
|
|
138
|
+
* @yields the chunks unchanged
|
|
139
|
+
* @returns nothing
|
|
140
|
+
*/
|
|
141
|
+
async function* watch(chunks, seen) {
|
|
142
|
+
for await (const chunk of chunks) {
|
|
143
|
+
if (seen.head.length < HEAD_CHARS) {
|
|
144
|
+
seen.head += chunk.slice(0, HEAD_CHARS - seen.head.length);
|
|
145
|
+
}
|
|
146
|
+
seen.content || (seen.content = !isWhitespace(chunk));
|
|
147
|
+
yield chunk;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Resolve the options, read the document and check it is a graph document.
|
|
152
|
+
* @param input - the input
|
|
153
|
+
* @param sink - the sink, or null for listGraphs
|
|
154
|
+
* @param options - the options
|
|
155
|
+
* @returns what the import needs
|
|
156
|
+
*/
|
|
157
|
+
async function prepare(input, sink, options) {
|
|
158
|
+
const common = resolveImportOptions(options, FORMAT_DEFAULTS);
|
|
159
|
+
const report = new ImportReportBuilder(FORMAT, common.errorLimit);
|
|
160
|
+
if (sink !== null) {
|
|
161
|
+
reportSinkOptions(sink, options, report, true);
|
|
162
|
+
reportUnusedOptions(options, report, USED_OPTIONS);
|
|
163
|
+
}
|
|
164
|
+
resolveSettings(options, false);
|
|
165
|
+
const doc = await parseXgmml(input, report, common, options);
|
|
166
|
+
const dialect = dialectOf(doc, report);
|
|
167
|
+
if (dialect.view) {
|
|
168
|
+
report.fail(XGMML_ISSUE.VIEW_DOCUMENT, "this is a Cytoscape session view file (cy:view): it holds positions keyed by view ids and no topology; open the session (.cys) instead", { line: doc.root.line });
|
|
169
|
+
}
|
|
170
|
+
return {
|
|
171
|
+
report,
|
|
172
|
+
common,
|
|
173
|
+
doc,
|
|
174
|
+
dialect,
|
|
175
|
+
settings: resolveSettings(options, doc.cytoscape),
|
|
176
|
+
graphs: graphsOf(doc, dialect),
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Emit one graph of a prepared document.
|
|
181
|
+
* @param prepared - the prepared import
|
|
182
|
+
* @param graph - the graph to read
|
|
183
|
+
* @param sink - the sink
|
|
184
|
+
* @param extras - what a session adds
|
|
185
|
+
* @returns the report
|
|
186
|
+
*/
|
|
187
|
+
function emitOne(prepared, graph, sink, extras) {
|
|
188
|
+
const { doc, dialect, report, common, settings } = prepared;
|
|
189
|
+
const emitter = new XgmmlEmitter(doc, dialect, sink, report, common, settings, extras);
|
|
190
|
+
emitter.emit(dialect.session ? graph : null);
|
|
191
|
+
if (dialect.session) {
|
|
192
|
+
reportRootOnly(prepared);
|
|
193
|
+
}
|
|
194
|
+
throwIfAborted(common.signal);
|
|
195
|
+
return report.finish();
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* W_XGMML_ROOT_ONLY_ELEMENTS: elements of a session network document no registered subnetwork
|
|
199
|
+
* holds (group meta-edges, members of collapsed groups).
|
|
200
|
+
* @param prepared - the prepared import
|
|
201
|
+
*/
|
|
202
|
+
function reportRootOnly(prepared) {
|
|
203
|
+
const held = new Set();
|
|
204
|
+
for (const graph of prepared.graphs) {
|
|
205
|
+
const members = membersOf(prepared.doc, graph);
|
|
206
|
+
members.nodes.forEach((n) => held.add(n));
|
|
207
|
+
members.edges.forEach((e) => held.add(e));
|
|
208
|
+
}
|
|
209
|
+
const nodes = prepared.doc.nodes.filter((n) => !held.has(n)).length;
|
|
210
|
+
const edges = prepared.doc.edges.filter((e) => !held.has(e)).length;
|
|
211
|
+
if (nodes + edges > 0) {
|
|
212
|
+
prepared.report.warning("unsupported", XGMML_ISSUE.ROOT_ONLY_ELEMENTS, `${nodes} node(s) and ${edges} edge(s) belong to no registered network (group meta-edges, collapsed group members) and were not read`);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Import one graph of an XGMML document.
|
|
217
|
+
* @param input - the document
|
|
218
|
+
* @param sink - the sink
|
|
219
|
+
* @param options - format-specific and common options
|
|
220
|
+
* @returns the report; ImportError when the document cannot be read or the error limit is exceeded
|
|
221
|
+
*/
|
|
222
|
+
async function importXgmml(input, sink, options) {
|
|
223
|
+
const prepared = await prepare(input, sink, options);
|
|
224
|
+
const index = chooseGraph(prepared.graphs.map((g) => graphName(g, prepared.doc)), options, prepared.report);
|
|
225
|
+
if (prepared.graphs.length > 1) {
|
|
226
|
+
prepared.report.warning("unsupported", XGMML_ISSUE.MULTIPLE_GRAPHS, `the session network document holds ${prepared.graphs.length} registered networks; ${prepared.graphs.length - 1} were not read (use importAll, graphIndex or graphName)`);
|
|
227
|
+
}
|
|
228
|
+
return emitOne(prepared, prepared.graphs[index], sink);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Import every graph of an XGMML document: each registered subnetwork of a session network
|
|
232
|
+
* document, else the one graph.
|
|
233
|
+
* @param input - the document
|
|
234
|
+
* @param sinkFor - a sink per graph
|
|
235
|
+
* @param options - format-specific and common options
|
|
236
|
+
* @returns one report per graph
|
|
237
|
+
*/
|
|
238
|
+
async function importAllXgmml(input, sinkFor, options) {
|
|
239
|
+
const bytes = await reread(input);
|
|
240
|
+
const first = await prepare(bytes, null, options);
|
|
241
|
+
const reports = [];
|
|
242
|
+
for (let i = 0; i < first.graphs.length; i++) {
|
|
243
|
+
const sink = sinkFor(i);
|
|
244
|
+
const prepared = i === 0 ? first : await prepare(bytes, null, options);
|
|
245
|
+
reportSinkOptions(sink, options, prepared.report, true);
|
|
246
|
+
reportUnusedOptions(options, prepared.report, USED_OPTIONS);
|
|
247
|
+
reports.push(emitOne(prepared, prepared.graphs[i], sink));
|
|
248
|
+
}
|
|
249
|
+
return reports;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* List the graphs of an XGMML document without importing them.
|
|
253
|
+
* @param input - the document
|
|
254
|
+
* @param options - the options
|
|
255
|
+
* @returns one listing per graph
|
|
256
|
+
*/
|
|
257
|
+
async function listXgmmlGraphs(input, options) {
|
|
258
|
+
const prepared = await prepare(input, null, options);
|
|
259
|
+
return prepared.graphs.map((graph, index) => {
|
|
260
|
+
const members = membersOf(prepared.doc, prepared.dialect.session ? graph : null);
|
|
261
|
+
return Object.freeze({
|
|
262
|
+
index,
|
|
263
|
+
name: graphName(graph, prepared.doc),
|
|
264
|
+
nodes: new Set(members.nodes.map((n) => n.id)).size,
|
|
265
|
+
edges: members.edges.length,
|
|
266
|
+
});
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* The name of a graph: its label, else the RDF title (root only), else its id.
|
|
271
|
+
* @param graph - the graph
|
|
272
|
+
* @param doc - the document
|
|
273
|
+
* @returns the name, or null
|
|
274
|
+
*/
|
|
275
|
+
function graphName(graph, doc) {
|
|
276
|
+
return graph.label ?? (graph === doc.root ? (doc.rdf.title ?? null) : null) ?? graph.id ?? null;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* The input in a form that can be read more than once (a stream is read into bytes).
|
|
280
|
+
* @param input - the input
|
|
281
|
+
* @returns the same input when it is a string or bytes, else the collected bytes
|
|
282
|
+
*/
|
|
283
|
+
async function reread(input) {
|
|
284
|
+
if (typeof input === "string" || input instanceof Uint8Array) {
|
|
285
|
+
return input;
|
|
286
|
+
}
|
|
287
|
+
const parts = [];
|
|
288
|
+
const iterable = typeof input.getReader === "function"
|
|
289
|
+
? streamIterable(input)
|
|
290
|
+
: input;
|
|
291
|
+
for await (const chunk of iterable) {
|
|
292
|
+
parts.push(chunk);
|
|
293
|
+
}
|
|
294
|
+
if (parts.every((p) => typeof p === "string")) {
|
|
295
|
+
return parts.join("");
|
|
296
|
+
}
|
|
297
|
+
const bytes = parts.map((p) => (typeof p === "string" ? new TextEncoder().encode(p) : p));
|
|
298
|
+
const out = new Uint8Array(bytes.reduce((n, b) => n + b.byteLength, 0));
|
|
299
|
+
let at = 0;
|
|
300
|
+
for (const b of bytes) {
|
|
301
|
+
out.set(b, at);
|
|
302
|
+
at += b.byteLength;
|
|
303
|
+
}
|
|
304
|
+
return out;
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* A ReadableStream as an async iterable.
|
|
308
|
+
* @param stream - the stream
|
|
309
|
+
* @yields its chunks
|
|
310
|
+
* @returns nothing
|
|
311
|
+
*/
|
|
312
|
+
async function* streamIterable(stream) {
|
|
313
|
+
const reader = stream.getReader();
|
|
314
|
+
try {
|
|
315
|
+
for (;;) {
|
|
316
|
+
const { done, value } = await reader.read();
|
|
317
|
+
if (done) {
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
320
|
+
yield value;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
finally {
|
|
324
|
+
reader.releaseLock();
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Confidence that a head of bytes is XGMML: 0.95 for a root `graph` in the XGMML namespace or an
|
|
329
|
+
* XGMML DOCTYPE (Cytoscape's file filter tests the same two things, and a session view file still
|
|
330
|
+
* scores so its failure names it), 0.5 for a root local name `graph` without either.
|
|
331
|
+
* @param head - the first bytes
|
|
332
|
+
* @returns the confidence
|
|
333
|
+
*/
|
|
334
|
+
function sniffXgmml(head) {
|
|
335
|
+
const text = new TextDecoder("utf-8", { fatal: false }).decode(head.subarray(0, SNIFF_BYTES));
|
|
336
|
+
if (!/^\uFEFF?\s*</.test(text)) {
|
|
337
|
+
return 0;
|
|
338
|
+
}
|
|
339
|
+
if (XGMML_DOCTYPE.test(text)) {
|
|
340
|
+
return 0.95;
|
|
341
|
+
}
|
|
342
|
+
const root = /<(?!\?|!)([A-Za-z_][\w.-]*:)?([A-Za-z_][\w.-]*)[\s/>]/.exec(text.replace(/<!--[\s\S]*?-->/g, ""));
|
|
343
|
+
if (root === null || root[2] !== "graph") {
|
|
344
|
+
return 0;
|
|
345
|
+
}
|
|
346
|
+
const tagEnd = text.indexOf(">", root.index);
|
|
347
|
+
const tag = text.slice(root.index, tagEnd < 0 ? undefined : tagEnd);
|
|
348
|
+
return tag.includes("http://www.cs.rpi.edu/XGMML") ? 0.95 : 0.5;
|
|
349
|
+
}
|
|
350
|
+
/** The XGMML importer. */
|
|
351
|
+
export const xgmmlImporter = Object.freeze({
|
|
352
|
+
format: FORMAT,
|
|
353
|
+
extensions: EXTENSIONS,
|
|
354
|
+
mimeTypes: MIME_TYPES,
|
|
355
|
+
sniff: sniffXgmml,
|
|
356
|
+
import: importXgmml,
|
|
357
|
+
importAll: importAllXgmml,
|
|
358
|
+
listGraphs: listXgmmlGraphs,
|
|
359
|
+
});
|
|
360
|
+
//# sourceMappingURL=importer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"importer.js","sourceRoot":"","sources":["../../../../src/formats/xgmml/importer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `@graphty/graph-io/xgmml` subpath: the XGMML importer and exporter, their option types and
|
|
3
|
+
* their issue and loss-note code tables.
|
|
4
|
+
*/
|
|
5
|
+
export { XGMML_ISSUE, XGMML_LOSS } from "./constants.js";
|
|
6
|
+
export { xgmmlExporter, type XgmmlExportOptions } from "./exporter.js";
|
|
7
|
+
export { xgmmlImporter, type XgmmlImportOptions } from "./importer.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/formats/xgmml/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `@graphty/graph-io/xgmml` subpath: the XGMML importer and exporter, their option types and
|
|
3
|
+
* their issue and loss-note code tables.
|
|
4
|
+
*/
|
|
5
|
+
export { XGMML_ISSUE, XGMML_LOSS } from "./constants.js";
|
|
6
|
+
export { xgmmlExporter } from "./exporter.js";
|
|
7
|
+
export { xgmmlImporter } from "./importer.js";
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/formats/xgmml/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,aAAa,EAA2B,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,aAAa,EAA2B,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* XGMML attribute types and values (`research-xgmml.md` sections 3.6, 3.8 and 4.3): which kind an
|
|
3
|
+
* `<att>` declares (Cytoscape's `cy:type` before the draft's `type`, case-insensitively), and the
|
|
4
|
+
* lexical rules of each kind as Cytoscape writes them. A value that does not parse is never
|
|
5
|
+
* guessed at: the caller records E_BAD_VALUE and leaves the cell unset.
|
|
6
|
+
*/
|
|
7
|
+
import { type AttRec } from "./document.js";
|
|
8
|
+
/** The scalar kinds of a column, in widening order (string beats everything). */
|
|
9
|
+
export type ScalarKind = "bool" | "int" | "long" | "real" | "string";
|
|
10
|
+
/** What one att declares. */
|
|
11
|
+
type DeclaredKind = ScalarKind | "list" | "map";
|
|
12
|
+
/** The declared kind of an att and the type text to keep in `origin.type`. */
|
|
13
|
+
interface AttType {
|
|
14
|
+
/** The kind. */
|
|
15
|
+
readonly kind: DeclaredKind;
|
|
16
|
+
/** The type as declared (`cy:type` when given, else `type`), or null for an untyped att. */
|
|
17
|
+
readonly declared: string | null;
|
|
18
|
+
/** The type text no kind matched (kept as text, W_UNKNOWN_ATTR_TYPE), or null. */
|
|
19
|
+
readonly unknown: string | null;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The kind an att declares: `cy:type` first, then `type`, both case-insensitive; no type is a
|
|
23
|
+
* string; an unknown type is a string the caller reports. An untyped-by-Cytoscape `integer` att
|
|
24
|
+
* whose name ends in `.SUID` is a long (Cytoscape keeps SUID references as Long).
|
|
25
|
+
* @param att - the att
|
|
26
|
+
* @returns the declared kind
|
|
27
|
+
*/
|
|
28
|
+
export declare function attType(att: AttRec): AttType;
|
|
29
|
+
/**
|
|
30
|
+
* The scalar kind a list element type names (`cy:elementType`), or null when it names none.
|
|
31
|
+
* @param text - the element type text
|
|
32
|
+
* @returns the kind, or null
|
|
33
|
+
*/
|
|
34
|
+
export declare function elementKind(text: string | null): ScalarKind | null;
|
|
35
|
+
/**
|
|
36
|
+
* The wider of two scalar kinds (design section 5.1): int and long widen to long, any two numbers
|
|
37
|
+
* to real, a boolean and a number to string, anything and a string to string.
|
|
38
|
+
* @param a - one kind
|
|
39
|
+
* @param b - the other
|
|
40
|
+
* @returns the kind both fit
|
|
41
|
+
*/
|
|
42
|
+
export declare function widenScalar(a: ScalarKind, b: ScalarKind): ScalarKind;
|
|
43
|
+
/** A parsed scalar and what parsing it found. */
|
|
44
|
+
interface ParsedScalar {
|
|
45
|
+
/** The value. */
|
|
46
|
+
readonly value: boolean | number | string;
|
|
47
|
+
/** An integer beyond i32 (the column widens), or a long / real beyond what a double holds exactly. */
|
|
48
|
+
readonly overflow?: "i32" | "precision" | undefined;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Parse one value text by its declared scalar kind. Numbers and booleans are trimmed; strings
|
|
52
|
+
* never are. Booleans accept 1 / 0 / true / false / yes / no in any case.
|
|
53
|
+
* @param text - the value text
|
|
54
|
+
* @param kind - the declared kind
|
|
55
|
+
* @param unescape - decode Cytoscape's two-character `\n` and `\t` in strings
|
|
56
|
+
* @returns the value, or null when the text does not parse as the kind
|
|
57
|
+
*/
|
|
58
|
+
export declare function parseScalar(text: string, kind: ScalarKind, unescape: boolean): ParsedScalar | null;
|
|
59
|
+
export {};
|
|
60
|
+
//# sourceMappingURL=values.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../../src/formats/xgmml/values.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,iFAAiF;AACjF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAErE,6BAA6B;AAC7B,KAAK,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC;AAEhD,8EAA8E;AAC9E,UAAU,OAAO;IACb,gBAAgB;IAChB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,4FAA4F;IAC5F,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,kFAAkF;IAClF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAsBD;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAqB5C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,CAMlE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAWpE;AAUD,iDAAiD;AACjD,UAAU,YAAY;IAClB,iBAAiB;IACjB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1C,sGAAsG;IACtG,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,WAAW,GAAG,SAAS,CAAC;CACvD;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAyClG"}
|