@graphty/graph-io 0.3.19 → 0.3.21
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 +49 -4
- package/dist/chunks/{escape-CWExcecC.js → escape-B-tkk_Cl.js} +74 -16
- package/dist/chunks/escape-B-tkk_Cl.js.map +1 -0
- package/dist/chunks/{writer-DQiKgQJc.js → export-Bh60Dv-n.js} +5 -79
- package/dist/chunks/export-Bh60Dv-n.js.map +1 -0
- package/dist/chunks/{exporter-CbMZyVt-.js → exporter-BGrsWamJ.js} +7 -6
- package/dist/chunks/{exporter-CbMZyVt-.js.map → exporter-BGrsWamJ.js.map} +1 -1
- package/dist/chunks/exporter-DIeGJXAZ.js +834 -0
- package/dist/chunks/exporter-DIeGJXAZ.js.map +1 -0
- package/dist/chunks/{importer-BNFuV1-K.js → importer-BWY2FFc5.js} +28 -7
- package/dist/chunks/importer-BWY2FFc5.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-BAP4PrxR.js → importer-DET1tg6s.js} +30 -20
- package/dist/chunks/importer-DET1tg6s.js.map +1 -0
- package/dist/chunks/{importer-ByPGO-09.js → importer-DEcKhsmQ.js} +2 -2
- package/dist/chunks/{importer-ByPGO-09.js.map → importer-DEcKhsmQ.js.map} +1 -1
- package/dist/chunks/{importer-BW-Ft2ps.js → importer-DIrbbnAf.js} +6 -5
- package/dist/chunks/{importer-BW-Ft2ps.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-Bm1_5vPS.js → importer-eUREhBGj.js} +11 -8
- package/dist/chunks/importer-eUREhBGj.js.map +1 -0
- package/dist/chunks/{importer-DOepkgnG.js → importer-vi3bSdtw.js} +4 -4
- package/dist/chunks/{importer-DOepkgnG.js.map → importer-vi3bSdtw.js.map} +1 -1
- package/dist/chunks/{importer-BVGtU1NA.js → importer-zGLo8Dg_.js} +6 -5
- package/dist/chunks/{importer-BVGtU1NA.js.map → importer-zGLo8Dg_.js.map} +1 -1
- package/dist/chunks/{json-elements-CZY1wiZh.js → json-elements-DDS8N2Dd.js} +2 -2
- package/dist/chunks/{json-elements-CZY1wiZh.js.map → json-elements-DDS8N2Dd.js.map} +1 -1
- package/dist/chunks/{records-BzNicMsf.js → records-dbRkxwaq.js} +2 -2
- package/dist/chunks/{records-BzNicMsf.js.map → records-dbRkxwaq.js.map} +1 -1
- package/dist/chunks/{report-BcWboivV.js → report-B1z4WT9e.js} +143 -111
- package/dist/chunks/{report-BcWboivV.js.map → report-B1z4WT9e.js.map} +1 -1
- package/dist/chunks/{weights-CwISIpCP.js → weights-Dzba96G3.js} +5 -5
- package/dist/chunks/{weights-CwISIpCP.js.map → weights-Dzba96G3.js.map} +1 -1
- package/dist/chunks/writer-C7flM-Ih.js +77 -0
- package/dist/chunks/writer-C7flM-Ih.js.map +1 -0
- package/dist/csv.js +6 -5
- package/dist/csv.js.map +1 -1
- package/dist/cx.js +1 -1
- package/dist/cx2.js +2 -2
- 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 +5 -4
- package/dist/gexf.js.map +1 -1
- package/dist/gml.js +12 -14
- package/dist/gml.js.map +1 -1
- package/dist/graph-io.js +288 -141
- 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 -5
- 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/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.map +1 -1
- package/dist/src/formats/cx/importer.js +26 -17
- package/dist/src/formats/cx/importer.js.map +1 -1
- 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/importer.d.ts +2 -2
- package/dist/src/formats/gexf/importer.d.ts.map +1 -1
- package/dist/src/formats/gexf/importer.js +1 -1
- package/dist/src/formats/gexf/importer.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 +7 -17
- package/dist/src/formats/gml/exporter.js.map +1 -1
- package/dist/src/formats/json/exporter.d.ts.map +1 -1
- package/dist/src/formats/json/exporter.js +3 -1
- package/dist/src/formats/json/exporter.js.map +1 -1
- package/dist/src/formats/json/importer.d.ts.map +1 -1
- package/dist/src/formats/json/importer.js +3 -2
- 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 +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -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 +25 -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 +2 -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 +15 -2
- package/src/common/cell-budget.ts +170 -0
- package/src/common/input.ts +40 -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 +27 -19
- 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/importer.ts +0 -1
- package/src/formats/gml/exporter.ts +7 -18
- package/src/formats/json/exporter.ts +3 -1
- package/src/formats/json/importer.ts +3 -2
- 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 +9 -0
- package/src/registry.ts +41 -15
- package/src/sniff.ts +5 -1
- package/dist/chunks/escape-CWExcecC.js.map +0 -1
- package/dist/chunks/importer-BAP4PrxR.js.map +0 -1
- package/dist/chunks/importer-BNFuV1-K.js.map +0 -1
- package/dist/chunks/importer-Bm1_5vPS.js.map +0 -1
- package/dist/chunks/writer-DQiKgQJc.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"importer.js","sourceRoot":"","sources":["../../../../src/formats/cys/importer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `@graphty/graph-io/cys` subpath: the Cytoscape session importer, its option type and its
|
|
3
|
+
* issue code table. Sessions are read-only: graph-io writes XGMML and CX2, which Cytoscape opens.
|
|
4
|
+
*/
|
|
5
|
+
export { CYS_ISSUE } from "./constants.js";
|
|
6
|
+
export { cysImporter, type CysImportOptions } from "./importer.js";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/formats/cys/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `@graphty/graph-io/cys` subpath: the Cytoscape session importer, its option type and its
|
|
3
|
+
* issue code table. Sessions are read-only: graph-io writes XGMML and CX2, which Cytoscape opens.
|
|
4
|
+
*/
|
|
5
|
+
export { CYS_ISSUE } from "./constants.js";
|
|
6
|
+
export { cysImporter } from "./importer.js";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/formats/cys/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAyB,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The layout of a Cytoscape session archive (`research-session-and-style.md` sections 2.1 to 2.3;
|
|
3
|
+
* Cytoscape's `Cy3SessionReaderImpl`, `Cy2SessionReaderImpl` and `SessionUtil`): which entries
|
|
4
|
+
* are the version marker, the networks, views, tables, styles and the rest, read from the central
|
|
5
|
+
* directory alone. Entries are inflated one at a time, only when asked for, within the import's
|
|
6
|
+
* byte budget.
|
|
7
|
+
*/
|
|
8
|
+
import { type ResolvedImportOptions } from "../../common/options.js";
|
|
9
|
+
import { ImportReportBuilder } from "../../common/report.js";
|
|
10
|
+
import { type ZipEntry } from "../../common/zip.js";
|
|
11
|
+
import { type ImportInput } from "../../types.js";
|
|
12
|
+
/** An entry of the session, by its path under the session's root folder. */
|
|
13
|
+
export interface SessionEntry {
|
|
14
|
+
/** The path under the root folder, as the archive spells it (URL-encoded parts). */
|
|
15
|
+
readonly path: string;
|
|
16
|
+
/** The full entry name, for messages. */
|
|
17
|
+
readonly name: string;
|
|
18
|
+
/** The zip entry. */
|
|
19
|
+
readonly zip: ZipEntry;
|
|
20
|
+
}
|
|
21
|
+
/** A 3.x network file: one root network (a collection). */
|
|
22
|
+
export interface NetworkEntry extends SessionEntry {
|
|
23
|
+
/** The root network's saved SUID. */
|
|
24
|
+
readonly suid: string;
|
|
25
|
+
/** The file name's network name, decoded. */
|
|
26
|
+
readonly title: string;
|
|
27
|
+
}
|
|
28
|
+
/** A 3.x view file. */
|
|
29
|
+
interface ViewEntry extends SessionEntry {
|
|
30
|
+
/** The SUID of the network the view shows. */
|
|
31
|
+
readonly network: string;
|
|
32
|
+
/** The view's SUID. */
|
|
33
|
+
readonly view: string;
|
|
34
|
+
}
|
|
35
|
+
/** A 3.x table file. */
|
|
36
|
+
export interface TableEntry extends SessionEntry {
|
|
37
|
+
/** The path under `tables/` (what `cytables.xml` names). */
|
|
38
|
+
readonly tablePath: string;
|
|
39
|
+
/** The SUID of the network the table belongs to. */
|
|
40
|
+
readonly network: string;
|
|
41
|
+
/** The namespace: LOCAL_ATTRS, SHARED_ATTRS, HIDDEN or an app's. */
|
|
42
|
+
readonly namespace: string;
|
|
43
|
+
/** The element class: CyNode, CyEdge or CyNetwork. */
|
|
44
|
+
readonly element: "node" | "edge" | "network" | null;
|
|
45
|
+
}
|
|
46
|
+
/** What a session archive holds, by kind. */
|
|
47
|
+
interface SessionLayout {
|
|
48
|
+
/** "3" for a 3.x session, "2" for a 2.x one. */
|
|
49
|
+
readonly era: "2" | "3";
|
|
50
|
+
/** The version marker as written (`3.0.0`), or the 2.x cysession.xml documentVersion. */
|
|
51
|
+
readonly version: string;
|
|
52
|
+
/** The root folder, with its trailing slash ("" when the entries have none). */
|
|
53
|
+
readonly root: string;
|
|
54
|
+
readonly networks: readonly NetworkEntry[];
|
|
55
|
+
readonly views: readonly ViewEntry[];
|
|
56
|
+
readonly tables: readonly TableEntry[];
|
|
57
|
+
/** `tables/cytables.xml`, if present. */
|
|
58
|
+
readonly cytables: SessionEntry | null;
|
|
59
|
+
/** `apps/org.cytoscape.swing-application/network_list.xml`, if present. */
|
|
60
|
+
readonly networkList: SessionEntry | null;
|
|
61
|
+
/** 2.x: `cysession.xml`. */
|
|
62
|
+
readonly cysession: SessionEntry | null;
|
|
63
|
+
/** 2.x: the network files by their path. */
|
|
64
|
+
readonly files: ReadonlyMap<string, SessionEntry>;
|
|
65
|
+
/** The style entries (`session_vizmap.xml`, `session_vizmap.props`). */
|
|
66
|
+
readonly styles: readonly SessionEntry[];
|
|
67
|
+
/** Every entry the importer does not read. */
|
|
68
|
+
readonly skipped: readonly string[];
|
|
69
|
+
}
|
|
70
|
+
/** An opened session: its bytes, its layout and an entry reader within the byte budget. */
|
|
71
|
+
export interface Session {
|
|
72
|
+
readonly layout: SessionLayout;
|
|
73
|
+
/**
|
|
74
|
+
* Inflate one entry.
|
|
75
|
+
* @param entry - the entry
|
|
76
|
+
* @returns its bytes
|
|
77
|
+
*/
|
|
78
|
+
read(entry: SessionEntry): Promise<Uint8Array>;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Java's `URLDecoder.decode` (UTF-8): `+` is a space, `%XX` a byte; a malformed escape leaves the
|
|
82
|
+
* text as it is.
|
|
83
|
+
* @param text - the encoded text
|
|
84
|
+
* @returns the decoded text
|
|
85
|
+
*/
|
|
86
|
+
export declare function urlDecode(text: string): string;
|
|
87
|
+
/**
|
|
88
|
+
* Read the input as a zip and lay out its session entries. Fatal: text input or not a zip
|
|
89
|
+
* (E_CYS_NOT_ZIP), an empty input, a damaged archive (E_CYS_CORRUPT), a split archive
|
|
90
|
+
* (E_CYS_UNSUPPORTED), no session marker (E_CYS_NOT_SESSION), a version graph-io cannot read
|
|
91
|
+
* (E_CYS_VERSION).
|
|
92
|
+
* @param input - the input
|
|
93
|
+
* @param report - the report
|
|
94
|
+
* @param common - cancellation and progress
|
|
95
|
+
* @param maxBytes - the import's uncompressed byte budget
|
|
96
|
+
* @returns the session
|
|
97
|
+
*/
|
|
98
|
+
export declare function openSession(input: ImportInput, report: ImportReportBuilder, common: ResolvedImportOptions, maxBytes: number): Promise<Session>;
|
|
99
|
+
/**
|
|
100
|
+
* A list of names for a message: the first ten, then a count.
|
|
101
|
+
* @param names - the names
|
|
102
|
+
* @returns the text
|
|
103
|
+
*/
|
|
104
|
+
export declare function listed(names: readonly string[]): string;
|
|
105
|
+
/** One element of a small XML document, as a tree. */
|
|
106
|
+
export interface XmlNode {
|
|
107
|
+
/** The local name. */
|
|
108
|
+
readonly name: string;
|
|
109
|
+
/** The attributes by name as written (prefix included). */
|
|
110
|
+
readonly attrs: ReadonlyMap<string, string>;
|
|
111
|
+
/** The child elements. */
|
|
112
|
+
readonly children: XmlNode[];
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Read a small XML entry (`cytables.xml`, `network_list.xml`, `cysession.xml`) as a tree. A
|
|
116
|
+
* document that is not well-formed is E_CYS_CORRUPT naming the entry.
|
|
117
|
+
* @param bytes - the entry's bytes
|
|
118
|
+
* @param entry - the entry name
|
|
119
|
+
* @param report - the report
|
|
120
|
+
* @param common - cancellation
|
|
121
|
+
* @returns the root element
|
|
122
|
+
*/
|
|
123
|
+
export declare function readXmlTree(bytes: Uint8Array, entry: string, report: ImportReportBuilder, common: ResolvedImportOptions): Promise<XmlNode>;
|
|
124
|
+
/**
|
|
125
|
+
* Every element of a tree with a local name, depth first.
|
|
126
|
+
* @param node - the tree
|
|
127
|
+
* @param name - the local name
|
|
128
|
+
* @returns the elements
|
|
129
|
+
*/
|
|
130
|
+
export declare function elementsNamed(node: XmlNode, name: string): XmlNode[];
|
|
131
|
+
export {};
|
|
132
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/formats/cys/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The layout of a Cytoscape session archive (`research-session-and-style.md` sections 2.1 to 2.3;
|
|
3
|
+
* Cytoscape's `Cy3SessionReaderImpl`, `Cy2SessionReaderImpl` and `SessionUtil`): which entries
|
|
4
|
+
* are the version marker, the networks, views, tables, styles and the rest, read from the central
|
|
5
|
+
* directory alone. Entries are inflated one at a time, only when asked for, within the import's
|
|
6
|
+
* byte budget.
|
|
7
|
+
*/
|
|
8
|
+
import { readBytes, textChunks } from "../../common/input.js";
|
|
9
|
+
import { ImportReportBuilder } from "../../common/report.js";
|
|
10
|
+
import { tokenizeXml, xmlDeclaredEncoding, XmlSyntaxError } from "../../common/xml.js";
|
|
11
|
+
import { readZipDirectory, readZipEntry, ZipError } from "../../common/zip.js";
|
|
12
|
+
import { ImportError } from "../../types.js";
|
|
13
|
+
import { CYS_ISSUE, FORMAT, MAX_RATIO } from "./constants.js";
|
|
14
|
+
/**
|
|
15
|
+
* Java's `URLDecoder.decode` (UTF-8): `+` is a space, `%XX` a byte; a malformed escape leaves the
|
|
16
|
+
* text as it is.
|
|
17
|
+
* @param text - the encoded text
|
|
18
|
+
* @returns the decoded text
|
|
19
|
+
*/
|
|
20
|
+
export function urlDecode(text) {
|
|
21
|
+
const plus = text.replace(/\+/g, " ");
|
|
22
|
+
try {
|
|
23
|
+
return decodeURIComponent(plus);
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return plus;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Read the input as a zip and lay out its session entries. Fatal: text input or not a zip
|
|
31
|
+
* (E_CYS_NOT_ZIP), an empty input, a damaged archive (E_CYS_CORRUPT), a split archive
|
|
32
|
+
* (E_CYS_UNSUPPORTED), no session marker (E_CYS_NOT_SESSION), a version graph-io cannot read
|
|
33
|
+
* (E_CYS_VERSION).
|
|
34
|
+
* @param input - the input
|
|
35
|
+
* @param report - the report
|
|
36
|
+
* @param common - cancellation and progress
|
|
37
|
+
* @param maxBytes - the import's uncompressed byte budget
|
|
38
|
+
* @returns the session
|
|
39
|
+
*/
|
|
40
|
+
export async function openSession(input, report, common, maxBytes) {
|
|
41
|
+
const bytes = await readBytes(input, common);
|
|
42
|
+
if (bytes === null) {
|
|
43
|
+
report.fail(CYS_ISSUE.NOT_ZIP, "a Cytoscape session is a zip archive; text input cannot hold one (pass the bytes)");
|
|
44
|
+
}
|
|
45
|
+
if (bytes.byteLength === 0) {
|
|
46
|
+
report.fail(CYS_ISSUE.EMPTY_INPUT, "the input is empty");
|
|
47
|
+
}
|
|
48
|
+
let zipEntries;
|
|
49
|
+
try {
|
|
50
|
+
zipEntries = readZipDirectory(bytes);
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
return zipFailure(err, report);
|
|
54
|
+
}
|
|
55
|
+
const layout = layoutOf(zipEntries, report);
|
|
56
|
+
let budget = maxBytes;
|
|
57
|
+
let inflated = 0;
|
|
58
|
+
const total = zipEntries.reduce((sum, e) => sum + e.size, 0);
|
|
59
|
+
return {
|
|
60
|
+
layout,
|
|
61
|
+
read: async (entry) => {
|
|
62
|
+
const before = inflated;
|
|
63
|
+
try {
|
|
64
|
+
const data = await readZipEntry(bytes, entry.zip, {
|
|
65
|
+
signal: common.signal,
|
|
66
|
+
maxBytes: budget,
|
|
67
|
+
maxRatio: MAX_RATIO,
|
|
68
|
+
onBytes: (n) => common.onProgress?.(before + n, total),
|
|
69
|
+
});
|
|
70
|
+
budget -= data.byteLength;
|
|
71
|
+
inflated += data.byteLength;
|
|
72
|
+
return data;
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
return zipFailure(err, report);
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Fail the import with the fatal issue of a zip error (any other error is rethrown).
|
|
82
|
+
* @param err - the error
|
|
83
|
+
* @param report - the report
|
|
84
|
+
*/
|
|
85
|
+
function zipFailure(err, report) {
|
|
86
|
+
if (!(err instanceof ZipError)) {
|
|
87
|
+
throw err;
|
|
88
|
+
}
|
|
89
|
+
const code = {
|
|
90
|
+
"not-zip": CYS_ISSUE.NOT_ZIP,
|
|
91
|
+
corrupt: CYS_ISSUE.CORRUPT,
|
|
92
|
+
unsupported: CYS_ISSUE.UNSUPPORTED,
|
|
93
|
+
"too-large": CYS_ISSUE.TOO_LARGE,
|
|
94
|
+
}[err.kind];
|
|
95
|
+
if (err.kind === "too-large") {
|
|
96
|
+
// the size limits are not a parse error: graph-io records E_TOO_LARGE as unsupported
|
|
97
|
+
report.error("unsupported", code, err.message);
|
|
98
|
+
throw report.abort(err.message, { code });
|
|
99
|
+
}
|
|
100
|
+
report.fail(code, err.message);
|
|
101
|
+
}
|
|
102
|
+
/** A 3.x network entry name: `<SUID>[-<name>].xgmml`. */
|
|
103
|
+
const NETWORK_FILE = /^networks\/(\d+)(?:-([^/]*))?\.xgmml$/;
|
|
104
|
+
/** A 3.x view entry name: `<networkSUID>-<viewSUID>[-<title>].xgmml`. */
|
|
105
|
+
const VIEW_FILE = /^views\/(\d+)-(\d+)(?:-[^/]*)?\.xgmml$/;
|
|
106
|
+
/** A 3.x table: `tables/<networkSUID>[-<name>]/<namespace>-<class>-<title>.cytable`. */
|
|
107
|
+
const TABLE_FILE = /^tables\/((\d+)(?:-[^/]*)?\/([^/-]+)-([^/-]+)-[^/]*\.cytable)$/;
|
|
108
|
+
/** Entries of other tools that carry nothing: macOS resource forks and folder metadata. */
|
|
109
|
+
const NOISE = /(^|\/)(__MACOSX\/|\.DS_Store$)/;
|
|
110
|
+
/**
|
|
111
|
+
* Lay out the entries: drop directory entries and macOS noise, keep the first of a repeated name
|
|
112
|
+
* (W_CYS_DUPLICATE_ENTRY), find the session marker and its root folder, classify what is under
|
|
113
|
+
* it, and list what is not read.
|
|
114
|
+
* @param zipEntries - the central directory
|
|
115
|
+
* @param report - the report
|
|
116
|
+
* @returns the layout
|
|
117
|
+
*/
|
|
118
|
+
function layoutOf(zipEntries, report) {
|
|
119
|
+
const byName = new Map();
|
|
120
|
+
const repeated = [];
|
|
121
|
+
for (const entry of zipEntries) {
|
|
122
|
+
if (entry.directory || NOISE.test(entry.name)) {
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
if (byName.has(entry.name)) {
|
|
126
|
+
repeated.push(entry.name);
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
byName.set(entry.name, entry);
|
|
130
|
+
}
|
|
131
|
+
if (repeated.length > 0) {
|
|
132
|
+
report.warning("unsupported", CYS_ISSUE.DUPLICATE_ENTRY, `${repeated.length} entry name(s) appear more than once; the first of each is read: ${listed(repeated)}`);
|
|
133
|
+
}
|
|
134
|
+
const names = [...byName.keys()];
|
|
135
|
+
const marker = names.find((n) => /^([^/]*\/)?[^/]+\.version$/.test(n));
|
|
136
|
+
const cysession = names.find((n) => /^([^/]*\/)?cysession\.xml$/.test(n));
|
|
137
|
+
if (marker === undefined && cysession === undefined) {
|
|
138
|
+
report.fail(CYS_ISSUE.NOT_SESSION, "the zip holds neither a session version marker (<x.y.z>.version) nor cysession.xml: it is not a Cytoscape session");
|
|
139
|
+
}
|
|
140
|
+
const anchor = marker ?? cysession;
|
|
141
|
+
const root = anchor.slice(0, anchor.lastIndexOf("/") + 1);
|
|
142
|
+
let era = "2";
|
|
143
|
+
let version = "2.0.0";
|
|
144
|
+
if (marker !== undefined) {
|
|
145
|
+
version = marker.slice(root.length, -".version".length);
|
|
146
|
+
const major = Number(version.split(".")[0]);
|
|
147
|
+
if (!Number.isInteger(major) || major > 3) {
|
|
148
|
+
report.fail(CYS_ISSUE.VERSION, `the session version ${version} is newer than the Cytoscape 3 sessions graph-io reads`);
|
|
149
|
+
}
|
|
150
|
+
era = major === 3 ? "3" : "2";
|
|
151
|
+
}
|
|
152
|
+
const layout = {
|
|
153
|
+
era,
|
|
154
|
+
version,
|
|
155
|
+
root,
|
|
156
|
+
networks: [],
|
|
157
|
+
views: [],
|
|
158
|
+
tables: [],
|
|
159
|
+
cytables: null,
|
|
160
|
+
networkList: null,
|
|
161
|
+
cysession: null,
|
|
162
|
+
files: new Map(),
|
|
163
|
+
styles: [],
|
|
164
|
+
skipped: [],
|
|
165
|
+
};
|
|
166
|
+
for (const [name, zip] of byName) {
|
|
167
|
+
if (!name.startsWith(root) || name === marker) {
|
|
168
|
+
if (name !== marker) {
|
|
169
|
+
layout.skipped.push(name);
|
|
170
|
+
}
|
|
171
|
+
continue;
|
|
172
|
+
}
|
|
173
|
+
const path = name.slice(root.length);
|
|
174
|
+
const entry = { path, name, zip };
|
|
175
|
+
if (era === "3") {
|
|
176
|
+
classify3(entry, layout);
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
classify2(entry, layout);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return layout;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Classify one entry of a 3.x session.
|
|
186
|
+
* @param entry - the entry
|
|
187
|
+
* @param layout - the layout being built
|
|
188
|
+
*/
|
|
189
|
+
function classify3(entry, layout) {
|
|
190
|
+
const { path } = entry;
|
|
191
|
+
const network = NETWORK_FILE.exec(path);
|
|
192
|
+
const view = VIEW_FILE.exec(path);
|
|
193
|
+
const table = TABLE_FILE.exec(path);
|
|
194
|
+
if (network !== null) {
|
|
195
|
+
layout.networks.push({ ...entry, suid: network[1], title: urlDecode(network[2] ?? "") });
|
|
196
|
+
}
|
|
197
|
+
else if (view !== null) {
|
|
198
|
+
layout.views.push({ ...entry, network: view[1], view: view[2] });
|
|
199
|
+
}
|
|
200
|
+
else if (path === "tables/cytables.xml") {
|
|
201
|
+
layout.cytables = entry;
|
|
202
|
+
}
|
|
203
|
+
else if (table !== null) {
|
|
204
|
+
const element = {
|
|
205
|
+
"org.cytoscape.model.CyNode": "node",
|
|
206
|
+
"org.cytoscape.model.CyEdge": "edge",
|
|
207
|
+
"org.cytoscape.model.CyNetwork": "network",
|
|
208
|
+
}[urlDecode(table[4])];
|
|
209
|
+
layout.tables.push({
|
|
210
|
+
...entry,
|
|
211
|
+
tablePath: table[1],
|
|
212
|
+
network: table[2],
|
|
213
|
+
namespace: urlDecode(table[3]),
|
|
214
|
+
element: element ?? null,
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
else if (path === "apps/org.cytoscape.swing-application/network_list.xml") {
|
|
218
|
+
layout.networkList = entry;
|
|
219
|
+
}
|
|
220
|
+
else if (/(^|\/)session_vizmap\.(xml|props)$/.test(path)) {
|
|
221
|
+
layout.styles.push(entry);
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
layout.skipped.push(entry.name);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Classify one entry of a 2.x session.
|
|
229
|
+
* @param entry - the entry
|
|
230
|
+
* @param layout - the layout being built
|
|
231
|
+
*/
|
|
232
|
+
function classify2(entry, layout) {
|
|
233
|
+
const { path } = entry;
|
|
234
|
+
if (path === "cysession.xml") {
|
|
235
|
+
layout.cysession = entry;
|
|
236
|
+
}
|
|
237
|
+
else if (/^[^/]+\.xgmml$/.test(path)) {
|
|
238
|
+
layout.files.set(path, entry);
|
|
239
|
+
}
|
|
240
|
+
else if (/^session_vizmap\.(props|xml)$/.test(path)) {
|
|
241
|
+
layout.styles.push(entry);
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
layout.skipped.push(entry.name);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* A list of names for a message: the first ten, then a count.
|
|
249
|
+
* @param names - the names
|
|
250
|
+
* @returns the text
|
|
251
|
+
*/
|
|
252
|
+
export function listed(names) {
|
|
253
|
+
const head = names.slice(0, 10).join(", ");
|
|
254
|
+
return names.length > 10 ? `${head} and ${names.length - 10} more` : head;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Read a small XML entry (`cytables.xml`, `network_list.xml`, `cysession.xml`) as a tree. A
|
|
258
|
+
* document that is not well-formed is E_CYS_CORRUPT naming the entry.
|
|
259
|
+
* @param bytes - the entry's bytes
|
|
260
|
+
* @param entry - the entry name
|
|
261
|
+
* @param report - the report
|
|
262
|
+
* @param common - cancellation
|
|
263
|
+
* @returns the root element
|
|
264
|
+
*/
|
|
265
|
+
export async function readXmlTree(bytes, entry, report, common) {
|
|
266
|
+
const scratch = new ImportReportBuilder(FORMAT, 0);
|
|
267
|
+
const stack = [{ name: "", attrs: new Map(), children: [] }];
|
|
268
|
+
try {
|
|
269
|
+
await tokenizeXml(textChunks(bytes, scratch, { signal: common.signal, declaredEncoding: xmlDeclaredEncoding }), {
|
|
270
|
+
start(name, attrs) {
|
|
271
|
+
const node = { name: name.slice(name.lastIndexOf(":") + 1), attrs, children: [] };
|
|
272
|
+
stack[stack.length - 1].children.push(node);
|
|
273
|
+
stack.push(node);
|
|
274
|
+
},
|
|
275
|
+
end() {
|
|
276
|
+
stack.pop();
|
|
277
|
+
},
|
|
278
|
+
text() {
|
|
279
|
+
// the session documents keep everything in attributes
|
|
280
|
+
},
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
catch (err) {
|
|
284
|
+
if (err instanceof XmlSyntaxError || err instanceof ImportError) {
|
|
285
|
+
report.fail(CYS_ISSUE.CORRUPT, `${entry}: ${err.message}`);
|
|
286
|
+
}
|
|
287
|
+
throw err;
|
|
288
|
+
}
|
|
289
|
+
const [root] = stack[0].children;
|
|
290
|
+
if (root === undefined) {
|
|
291
|
+
report.fail(CYS_ISSUE.CORRUPT, `${entry}: the document is empty`);
|
|
292
|
+
}
|
|
293
|
+
return root;
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Every element of a tree with a local name, depth first.
|
|
297
|
+
* @param node - the tree
|
|
298
|
+
* @param name - the local name
|
|
299
|
+
* @returns the elements
|
|
300
|
+
*/
|
|
301
|
+
export function elementsNamed(node, name) {
|
|
302
|
+
const out = [];
|
|
303
|
+
const stack = [node];
|
|
304
|
+
while (stack.length > 0) {
|
|
305
|
+
const n = stack.pop();
|
|
306
|
+
if (n.name === name) {
|
|
307
|
+
out.push(n);
|
|
308
|
+
}
|
|
309
|
+
for (let i = n.children.length - 1; i >= 0; i--) {
|
|
310
|
+
stack.push(n.children[i]);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
return out;
|
|
314
|
+
}
|
|
315
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/formats/cys/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The tables of a Cytoscape 3 session: the CyCSV `.cytable` files (`research-session-and-style.md`
|
|
3
|
+
* section 2.4; Cytoscape's `CSVCyReader`) and the virtual columns `tables/cytables.xml` joins into
|
|
4
|
+
* them. Cells become XGMML att records, typed by the column's Java class, so the XGMML emitter
|
|
5
|
+
* applies the same column rules (types, widening, equations, hidden columns, renames) to a
|
|
6
|
+
* session's tables as to an XGMML file's atts.
|
|
7
|
+
*/
|
|
8
|
+
import { type ResolvedImportOptions } from "../../common/options.js";
|
|
9
|
+
import { ImportReportBuilder } from "../../common/report.js";
|
|
10
|
+
import { type AttRec } from "../xgmml/document.js";
|
|
11
|
+
/** One column of a table. */
|
|
12
|
+
interface CyColumn {
|
|
13
|
+
/** The name. */
|
|
14
|
+
readonly name: string;
|
|
15
|
+
/** The Cytoscape type of a scalar column, or of a list's items. */
|
|
16
|
+
readonly type: string;
|
|
17
|
+
/** A list column. */
|
|
18
|
+
readonly list: boolean;
|
|
19
|
+
}
|
|
20
|
+
/** One table, read. */
|
|
21
|
+
export interface CyTable {
|
|
22
|
+
/** The table's path under `tables/` as the archive spells it (what cytables.xml names). */
|
|
23
|
+
readonly path: string;
|
|
24
|
+
/** The entry name, for messages. */
|
|
25
|
+
readonly entry: string;
|
|
26
|
+
/** The columns; the first is the primary key. */
|
|
27
|
+
readonly columns: readonly CyColumn[];
|
|
28
|
+
/** The rows by key text, in file order (the first row of a repeated key). */
|
|
29
|
+
readonly rows: ReadonlyMap<string, readonly string[]>;
|
|
30
|
+
/** The line each row starts on, by key. */
|
|
31
|
+
readonly lines: ReadonlyMap<string, number>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Read one CyCSV table. A table that cannot be read at all (an unknown CyCSV version or column
|
|
35
|
+
* class, a malformed header, broken CSV) is recorded as E_CYS_TABLE and skipped (null); rows with
|
|
36
|
+
* the wrong number of cells or a repeated key are counted in one W_CYS_TABLE_ROW.
|
|
37
|
+
* @param bytes - the entry's bytes
|
|
38
|
+
* @param path - the table's path under `tables/`
|
|
39
|
+
* @param entry - the entry name, for messages
|
|
40
|
+
* @param report - the import's report
|
|
41
|
+
* @param common - cancellation
|
|
42
|
+
* @returns the table, or null
|
|
43
|
+
*/
|
|
44
|
+
export declare function readCyTable(bytes: Uint8Array, path: string, entry: string, report: ImportReportBuilder, common: ResolvedImportOptions): Promise<CyTable | null>;
|
|
45
|
+
/**
|
|
46
|
+
* The att record of one cell, or null for an unset cell. CyCSV's rules: an empty cell is unset
|
|
47
|
+
* except in a String column, where it is the empty string; a list cell holds its items separated
|
|
48
|
+
* by newlines (Java's `split`, so trailing empty items vanish; an empty String-list cell is one
|
|
49
|
+
* empty item, any other empty list cell unset); a cell starting with `=` is an equation.
|
|
50
|
+
* @param column - the column
|
|
51
|
+
* @param text - the cell text
|
|
52
|
+
* @param line - the row's line
|
|
53
|
+
* @param namespace - the table namespace the column belongs to (null for the network's own table)
|
|
54
|
+
* @param hidden - whether the column is hidden (HIDDEN and app tables)
|
|
55
|
+
* @returns the att, or null
|
|
56
|
+
*/
|
|
57
|
+
export declare function cellAtt(column: CyColumn, text: string, line: number, namespace: string | null, hidden: boolean): AttRec | null;
|
|
58
|
+
/** One virtual column of `tables/cytables.xml`. */
|
|
59
|
+
export interface VirtualColumn {
|
|
60
|
+
/** The column name in the target table. */
|
|
61
|
+
readonly name: string;
|
|
62
|
+
/** The target table's path under `tables/`. */
|
|
63
|
+
readonly targetTable: string;
|
|
64
|
+
/** The source table's path. */
|
|
65
|
+
readonly sourceTable: string;
|
|
66
|
+
/** The source column's name. */
|
|
67
|
+
readonly sourceColumn: string;
|
|
68
|
+
/** The join column of the source (normally SUID). */
|
|
69
|
+
readonly sourceJoinKey: string;
|
|
70
|
+
/** The join column of the target (normally SUID). */
|
|
71
|
+
readonly targetJoinKey: string;
|
|
72
|
+
}
|
|
73
|
+
/** A resolved virtual column: its type and its value per target row key. */
|
|
74
|
+
interface VirtualValues {
|
|
75
|
+
readonly column: CyColumn;
|
|
76
|
+
readonly values: ReadonlyMap<string, string>;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Resolve the virtual columns of one table: each one's values joined from its source table,
|
|
80
|
+
* following a source that is itself a virtual column. A column whose source table or column is
|
|
81
|
+
* missing, or whose sources form a cycle, is E_CYS_TABLE and skipped.
|
|
82
|
+
* @param target - the table
|
|
83
|
+
* @param virtuals - every virtual column of the session
|
|
84
|
+
* @param tableOf - reads (and caches) a table by path, null when it cannot be read or is absent
|
|
85
|
+
* @param report - the report
|
|
86
|
+
* @returns the virtual columns of the table, in cytables.xml order
|
|
87
|
+
*/
|
|
88
|
+
export declare function virtualColumnsOf(target: CyTable, virtuals: readonly VirtualColumn[], tableOf: (path: string) => Promise<CyTable | null>, report: ImportReportBuilder): Promise<VirtualValues[]>;
|
|
89
|
+
export {};
|
|
90
|
+
//# sourceMappingURL=tables.d.ts.map
|