@graphty/graph-io 0.3.46 → 0.3.48
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/dist/chunks/{approximations-wWjCRzKj.js → approximations-C2riR4NT.js} +2 -2
- package/dist/chunks/{approximations-wWjCRzKj.js.map → approximations-C2riR4NT.js.map} +1 -1
- package/dist/chunks/{block-DiGq58c3.js → block-Cu22ewuS.js} +92 -21
- package/dist/chunks/block-Cu22ewuS.js.map +1 -0
- package/dist/chunks/{choose--jM0yYCo.js → choose-Cdx6Enl2.js} +3 -3
- package/dist/chunks/{choose--jM0yYCo.js.map → choose-Cdx6Enl2.js.map} +1 -1
- package/dist/chunks/codes-CV_Bhcyi.js +153 -0
- package/dist/chunks/codes-CV_Bhcyi.js.map +1 -0
- package/dist/chunks/{constants-BKwqelYD.js → constants-D0LqcsLJ.js} +2 -2
- package/dist/chunks/{constants-BKwqelYD.js.map → constants-D0LqcsLJ.js.map} +1 -1
- package/dist/chunks/context-cgmmOxZ2.js +663 -0
- package/dist/chunks/context-cgmmOxZ2.js.map +1 -0
- package/dist/chunks/credentials-BiQsnMTb.js +347 -0
- package/dist/chunks/credentials-BiQsnMTb.js.map +1 -0
- package/dist/chunks/cx-export-BEeF6ymo.js +259 -0
- package/dist/chunks/cx-export-BEeF6ymo.js.map +1 -0
- package/dist/chunks/descriptor-BJ-W0Jd-.js +137 -0
- package/dist/chunks/descriptor-BJ-W0Jd-.js.map +1 -0
- package/dist/chunks/descriptor-C-YDhtsn.js +48 -0
- package/dist/chunks/descriptor-C-YDhtsn.js.map +1 -0
- package/dist/chunks/{emit-CwU8cUmG.js → emit-CD8xnY8s.js} +70 -10
- package/dist/chunks/emit-CD8xnY8s.js.map +1 -0
- package/dist/chunks/{escape-CgzxiYPg.js → escape-DH2Egt-l.js} +12 -12
- package/dist/chunks/{escape-CgzxiYPg.js.map → escape-DH2Egt-l.js.map} +1 -1
- package/dist/chunks/{export-BvqAXCKh.js → export-CZ7VRm4I.js} +53 -1443
- package/dist/chunks/export-CZ7VRm4I.js.map +1 -0
- package/dist/chunks/{exporter-DndFlGSa.js → exporter-BIdaoIgh.js} +7 -6
- package/dist/chunks/{exporter-DndFlGSa.js.map → exporter-BIdaoIgh.js.map} +1 -1
- package/dist/chunks/{exporter-CJgfhF-l.js → exporter-ChjL5fmP.js} +8 -7
- package/dist/chunks/{exporter-CJgfhF-l.js.map → exporter-ChjL5fmP.js.map} +1 -1
- package/dist/chunks/{exporter--Mk9gXCJ.js → exporter-Dcw7Ldtq.js} +6 -4
- package/dist/chunks/{exporter--Mk9gXCJ.js.map → exporter-Dcw7Ldtq.js.map} +1 -1
- package/dist/chunks/exporter-DtVU80Fa.js +1008 -0
- package/dist/chunks/exporter-DtVU80Fa.js.map +1 -0
- package/dist/chunks/{exporter-CrDWIyiq.js → exporter-bxxjOrDZ.js} +11 -9
- package/dist/chunks/{exporter-CrDWIyiq.js.map → exporter-bxxjOrDZ.js.map} +1 -1
- package/dist/chunks/format-BMS-1Nxb.js +64 -0
- package/dist/chunks/format-BMS-1Nxb.js.map +1 -0
- package/dist/chunks/{generic-Dq1ntt9q.js → generic-CP6YD34u.js} +4 -4
- package/dist/chunks/{generic-Dq1ntt9q.js.map → generic-CP6YD34u.js.map} +1 -1
- package/dist/chunks/{importer-DiZRmOQG.js → importer-B87_fmVx.js} +13 -17
- package/dist/chunks/importer-B87_fmVx.js.map +1 -0
- package/dist/chunks/{importer-BSvfrX_h.js → importer-Bji2MeWr.js} +18 -1014
- package/dist/chunks/importer-Bji2MeWr.js.map +1 -0
- package/dist/chunks/{importer-COTK9Tsl.js → importer-CB_zV5_L.js} +14 -11
- package/dist/chunks/importer-CB_zV5_L.js.map +1 -0
- package/dist/chunks/{importer-e6LGpqHB.js → importer-CVT-JyDE.js} +12 -9
- package/dist/chunks/importer-CVT-JyDE.js.map +1 -0
- package/dist/chunks/{importer-yh_aBCU6.js → importer-Cyy6UseH.js} +7 -6
- package/dist/chunks/{importer-yh_aBCU6.js.map → importer-Cyy6UseH.js.map} +1 -1
- package/dist/chunks/{importer-iFYPEKaJ.js → importer-DPZDN40-.js} +14 -10
- package/dist/chunks/{importer-iFYPEKaJ.js.map → importer-DPZDN40-.js.map} +1 -1
- package/dist/chunks/{importer-CMmeMWlC.js → importer-e3huMZbm.js} +8 -260
- package/dist/chunks/importer-e3huMZbm.js.map +1 -0
- package/dist/chunks/input-Ccg9I22A.js +1397 -0
- package/dist/chunks/input-Ccg9I22A.js.map +1 -0
- package/dist/chunks/{json-elements-DJZRZ6jd.js → json-elements-By172SVq.js} +4 -4
- package/dist/chunks/{json-elements-DJZRZ6jd.js.map → json-elements-By172SVq.js.map} +1 -1
- package/dist/chunks/{lexicon-CT69Kd87.js → lexicon-u2SI5xcx.js} +19 -5
- package/dist/chunks/lexicon-u2SI5xcx.js.map +1 -0
- package/dist/chunks/{ontology-export-G4MqRdux.js → ontology-export-BwgMyuF0.js} +4 -3
- package/dist/chunks/{ontology-export-G4MqRdux.js.map → ontology-export-BwgMyuF0.js.map} +1 -1
- package/dist/chunks/{records-CiaWZrFH.js → records-Cgvxz-Vx.js} +2 -2
- package/dist/chunks/{records-CiaWZrFH.js.map → records-Cgvxz-Vx.js.map} +1 -1
- package/dist/chunks/{format-BpQBx8MZ.js → report-CgdsL9Hb.js} +72 -129
- package/dist/chunks/report-CgdsL9Hb.js.map +1 -0
- package/dist/chunks/sigv4-LkAzsLAu.js +247 -0
- package/dist/chunks/sigv4-LkAzsLAu.js.map +1 -0
- package/dist/chunks/{styles-BQnsga7p.js → styles-CaABMoO1.js} +76 -43
- package/dist/chunks/styles-CaABMoO1.js.map +1 -0
- package/dist/chunks/{styles-D3fRphrO.js → styles-P_gmFAOi.js} +101 -21
- package/dist/chunks/styles-P_gmFAOi.js.map +1 -0
- package/dist/chunks/{styles-yed-BF5x3_Y5.js → styles-yed-Cs1nmrjn.js} +60 -20
- package/dist/chunks/styles-yed-Cs1nmrjn.js.map +1 -0
- package/dist/chunks/{text-CzJNFOS9.js → text-BuKQVMz2.js} +2 -2
- package/dist/chunks/{text-CzJNFOS9.js.map → text-BuKQVMz2.js.map} +1 -1
- package/dist/chunks/{writer-DMKvthQE.js → writer-DvHTl36J.js} +5 -4
- package/dist/chunks/writer-DvHTl36J.js.map +1 -0
- package/dist/csv.js +7 -5
- package/dist/csv.js.map +1 -1
- package/dist/cx.js +5 -4
- package/dist/cx.js.map +1 -1
- package/dist/cx2.js +2 -2
- package/dist/cys.js +1 -1
- package/dist/dot.js +2 -2
- package/dist/gexf.js +7 -5
- package/dist/gexf.js.map +1 -1
- package/dist/gml.js +16 -13
- package/dist/gml.js.map +1 -1
- package/dist/graph-io.js +1181 -224
- package/dist/graph-io.js.map +1 -1
- package/dist/graphml.js +3 -3
- 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/sources-cypher.d.ts +1 -0
- package/dist/sources-cypher.js +1236 -0
- package/dist/sources-cypher.js.map +1 -0
- package/dist/sources-ndex.d.ts +1 -0
- package/dist/sources-ndex.js +278 -0
- package/dist/sources-ndex.js.map +1 -0
- package/dist/sources-rest.d.ts +1 -0
- package/dist/sources-rest.js +1367 -0
- package/dist/sources-rest.js.map +1 -0
- package/dist/src/common/report.d.ts +6 -3
- package/dist/src/common/report.d.ts.map +1 -1
- package/dist/src/common/report.js +15 -9
- package/dist/src/common/report.js.map +1 -1
- package/dist/src/formats/cx/styles.d.ts.map +1 -1
- package/dist/src/formats/cx/styles.js +1 -0
- package/dist/src/formats/cx/styles.js.map +1 -1
- package/dist/src/formats/dot/styles.d.ts.map +1 -1
- package/dist/src/formats/dot/styles.js +3 -1
- package/dist/src/formats/dot/styles.js.map +1 -1
- package/dist/src/formats/gexf/styles.d.ts +29 -12
- package/dist/src/formats/gexf/styles.d.ts.map +1 -1
- package/dist/src/formats/gexf/styles.js +160 -31
- package/dist/src/formats/gexf/styles.js.map +1 -1
- package/dist/src/formats/gml/styles.d.ts.map +1 -1
- package/dist/src/formats/gml/styles.js +5 -4
- package/dist/src/formats/gml/styles.js.map +1 -1
- package/dist/src/formats/graphml/styles-plain.d.ts.map +1 -1
- package/dist/src/formats/graphml/styles-plain.js +3 -3
- package/dist/src/formats/graphml/styles-plain.js.map +1 -1
- package/dist/src/formats/graphml/styles-yed.d.ts.map +1 -1
- package/dist/src/formats/graphml/styles-yed.js +89 -19
- package/dist/src/formats/graphml/styles-yed.js.map +1 -1
- package/dist/src/formats/pajek/styles.d.ts.map +1 -1
- package/dist/src/formats/pajek/styles.js +1 -0
- package/dist/src/formats/pajek/styles.js.map +1 -1
- package/dist/src/formats/xgmml/styles.d.ts.map +1 -1
- package/dist/src/formats/xgmml/styles.js +1 -0
- package/dist/src/formats/xgmml/styles.js.map +1 -1
- package/dist/src/index.d.ts +8 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +9 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/registry.d.ts +173 -1
- package/dist/src/registry.d.ts.map +1 -1
- package/dist/src/registry.js +196 -1
- package/dist/src/registry.js.map +1 -1
- package/dist/src/sources/builtins.d.ts +11 -0
- package/dist/src/sources/builtins.d.ts.map +1 -0
- package/dist/src/sources/builtins.js +47 -0
- package/dist/src/sources/builtins.js.map +1 -0
- package/dist/src/sources/codes.d.ts +230 -0
- package/dist/src/sources/codes.d.ts.map +1 -0
- package/dist/src/sources/codes.js +58 -0
- package/dist/src/sources/codes.js.map +1 -0
- package/dist/src/sources/context.d.ts +112 -0
- package/dist/src/sources/context.d.ts.map +1 -0
- package/dist/src/sources/context.js +739 -0
- package/dist/src/sources/context.js.map +1 -0
- package/dist/src/sources/credentials.d.ts +179 -0
- package/dist/src/sources/credentials.d.ts.map +1 -0
- package/dist/src/sources/credentials.js +301 -0
- package/dist/src/sources/credentials.js.map +1 -0
- package/dist/src/sources/cypher/descriptor.d.ts +21 -0
- package/dist/src/sources/cypher/descriptor.d.ts.map +1 -0
- package/dist/src/sources/cypher/descriptor.js +119 -0
- package/dist/src/sources/cypher/descriptor.js.map +1 -0
- package/dist/src/sources/cypher/flatten.d.ts +72 -0
- package/dist/src/sources/cypher/flatten.d.ts.map +1 -0
- package/dist/src/sources/cypher/flatten.js +279 -0
- package/dist/src/sources/cypher/flatten.js.map +1 -0
- package/dist/src/sources/cypher/index.d.ts +33 -0
- package/dist/src/sources/cypher/index.d.ts.map +1 -0
- package/dist/src/sources/cypher/index.js +405 -0
- package/dist/src/sources/cypher/index.js.map +1 -0
- package/dist/src/sources/cypher/params.d.ts +40 -0
- package/dist/src/sources/cypher/params.d.ts.map +1 -0
- package/dist/src/sources/cypher/params.js +6 -0
- package/dist/src/sources/cypher/params.js.map +1 -0
- package/dist/src/sources/cypher/profiles.d.ts +44 -0
- package/dist/src/sources/cypher/profiles.d.ts.map +1 -0
- package/dist/src/sources/cypher/profiles.js +61 -0
- package/dist/src/sources/cypher/profiles.js.map +1 -0
- package/dist/src/sources/cypher/query-builder.d.ts +106 -0
- package/dist/src/sources/cypher/query-builder.d.ts.map +1 -0
- package/dist/src/sources/cypher/query-builder.js +236 -0
- package/dist/src/sources/cypher/query-builder.js.map +1 -0
- package/dist/src/sources/cypher/transports/bolt.d.ts +21 -0
- package/dist/src/sources/cypher/transports/bolt.d.ts.map +1 -0
- package/dist/src/sources/cypher/transports/bolt.js +185 -0
- package/dist/src/sources/cypher/transports/bolt.js.map +1 -0
- package/dist/src/sources/cypher/transports/neptune-analytics.d.ts +15 -0
- package/dist/src/sources/cypher/transports/neptune-analytics.d.ts.map +1 -0
- package/dist/src/sources/cypher/transports/neptune-analytics.js +38 -0
- package/dist/src/sources/cypher/transports/neptune-analytics.js.map +1 -0
- package/dist/src/sources/cypher/transports/neptune-https.d.ts +31 -0
- package/dist/src/sources/cypher/transports/neptune-https.d.ts.map +1 -0
- package/dist/src/sources/cypher/transports/neptune-https.js +104 -0
- package/dist/src/sources/cypher/transports/neptune-https.js.map +1 -0
- package/dist/src/sources/cypher/transports/query-api.d.ts +14 -0
- package/dist/src/sources/cypher/transports/query-api.d.ts.map +1 -0
- package/dist/src/sources/cypher/transports/query-api.js +80 -0
- package/dist/src/sources/cypher/transports/query-api.js.map +1 -0
- package/dist/src/sources/cypher/transports/transport.d.ts +78 -0
- package/dist/src/sources/cypher/transports/transport.d.ts.map +1 -0
- package/dist/src/sources/cypher/transports/transport.js +77 -0
- package/dist/src/sources/cypher/transports/transport.js.map +1 -0
- package/dist/src/sources/cypher/types-map.d.ts +91 -0
- package/dist/src/sources/cypher/types-map.d.ts.map +1 -0
- package/dist/src/sources/cypher/types-map.js +306 -0
- package/dist/src/sources/cypher/types-map.js.map +1 -0
- package/dist/src/sources/define.d.ts +47 -0
- package/dist/src/sources/define.d.ts.map +1 -0
- package/dist/src/sources/define.js +173 -0
- package/dist/src/sources/define.js.map +1 -0
- package/dist/src/sources/fail.d.ts +33 -0
- package/dist/src/sources/fail.d.ts.map +1 -0
- package/dist/src/sources/fail.js +49 -0
- package/dist/src/sources/fail.js.map +1 -0
- package/dist/src/sources/ids.d.ts +64 -0
- package/dist/src/sources/ids.d.ts.map +1 -0
- package/dist/src/sources/ids.js +64 -0
- package/dist/src/sources/ids.js.map +1 -0
- package/dist/src/sources/ndex/client.d.ts +31 -0
- package/dist/src/sources/ndex/client.d.ts.map +1 -0
- package/dist/src/sources/ndex/client.js +90 -0
- package/dist/src/sources/ndex/client.js.map +1 -0
- package/dist/src/sources/ndex/descriptor.d.ts +10 -0
- package/dist/src/sources/ndex/descriptor.d.ts.map +1 -0
- package/dist/src/sources/ndex/descriptor.js +55 -0
- package/dist/src/sources/ndex/descriptor.js.map +1 -0
- package/dist/src/sources/ndex/expand.d.ts +20 -0
- package/dist/src/sources/ndex/expand.d.ts.map +1 -0
- package/dist/src/sources/ndex/expand.js +87 -0
- package/dist/src/sources/ndex/expand.js.map +1 -0
- package/dist/src/sources/ndex/index.d.ts +25 -0
- package/dist/src/sources/ndex/index.d.ts.map +1 -0
- package/dist/src/sources/ndex/index.js +191 -0
- package/dist/src/sources/ndex/index.js.map +1 -0
- package/dist/src/sources/ndex/params.d.ts +17 -0
- package/dist/src/sources/ndex/params.d.ts.map +1 -0
- package/dist/src/sources/ndex/params.js +6 -0
- package/dist/src/sources/ndex/params.js.map +1 -0
- package/dist/src/sources/ndex/share-url.d.ts +40 -0
- package/dist/src/sources/ndex/share-url.d.ts.map +1 -0
- package/dist/src/sources/ndex/share-url.js +64 -0
- package/dist/src/sources/ndex/share-url.js.map +1 -0
- package/dist/src/sources/params.d.ts +28 -0
- package/dist/src/sources/params.d.ts.map +1 -0
- package/dist/src/sources/params.js +6 -0
- package/dist/src/sources/params.js.map +1 -0
- package/dist/src/sources/registry.d.ts +118 -0
- package/dist/src/sources/registry.d.ts.map +1 -0
- package/dist/src/sources/registry.js +193 -0
- package/dist/src/sources/registry.js.map +1 -0
- package/dist/src/sources/rest/descriptor.d.ts +16 -0
- package/dist/src/sources/rest/descriptor.d.ts.map +1 -0
- package/dist/src/sources/rest/descriptor.js +71 -0
- package/dist/src/sources/rest/descriptor.js.map +1 -0
- package/dist/src/sources/rest/index.d.ts +14 -0
- package/dist/src/sources/rest/index.d.ts.map +1 -0
- package/dist/src/sources/rest/index.js +13 -0
- package/dist/src/sources/rest/index.js.map +1 -0
- package/dist/src/sources/rest/mapping.d.ts +30 -0
- package/dist/src/sources/rest/mapping.d.ts.map +1 -0
- package/dist/src/sources/rest/mapping.js +362 -0
- package/dist/src/sources/rest/mapping.js.map +1 -0
- package/dist/src/sources/rest/openalex.d.ts +27 -0
- package/dist/src/sources/rest/openalex.d.ts.map +1 -0
- package/dist/src/sources/rest/openalex.js +269 -0
- package/dist/src/sources/rest/openalex.js.map +1 -0
- package/dist/src/sources/rest/paging.d.ts +53 -0
- package/dist/src/sources/rest/paging.d.ts.map +1 -0
- package/dist/src/sources/rest/paging.js +138 -0
- package/dist/src/sources/rest/paging.js.map +1 -0
- package/dist/src/sources/rest/params.d.ts +216 -0
- package/dist/src/sources/rest/params.d.ts.map +1 -0
- package/dist/src/sources/rest/params.js +7 -0
- package/dist/src/sources/rest/params.js.map +1 -0
- package/dist/src/sources/rest/records.d.ts +41 -0
- package/dist/src/sources/rest/records.d.ts.map +1 -0
- package/dist/src/sources/rest/records.js +240 -0
- package/dist/src/sources/rest/records.js.map +1 -0
- package/dist/src/sources/rest/samples/deps-dev.d.ts +10 -0
- package/dist/src/sources/rest/samples/deps-dev.d.ts.map +1 -0
- package/dist/src/sources/rest/samples/deps-dev.js +47 -0
- package/dist/src/sources/rest/samples/deps-dev.js.map +1 -0
- package/dist/src/sources/rest/samples/string.d.ts +9 -0
- package/dist/src/sources/rest/samples/string.d.ts.map +1 -0
- package/dist/src/sources/rest/samples/string.js +42 -0
- package/dist/src/sources/rest/samples/string.js.map +1 -0
- package/dist/src/sources/rest/selectors.d.ts +41 -0
- package/dist/src/sources/rest/selectors.d.ts.map +1 -0
- package/dist/src/sources/rest/selectors.js +81 -0
- package/dist/src/sources/rest/selectors.js.map +1 -0
- package/dist/src/sources/rest/source.d.ts +67 -0
- package/dist/src/sources/rest/source.d.ts.map +1 -0
- package/dist/src/sources/rest/source.js +635 -0
- package/dist/src/sources/rest/source.js.map +1 -0
- package/dist/src/sources/rest/templates.d.ts +38 -0
- package/dist/src/sources/rest/templates.d.ts.map +1 -0
- package/dist/src/sources/rest/templates.js +125 -0
- package/dist/src/sources/rest/templates.js.map +1 -0
- package/dist/src/sources/run.d.ts +93 -0
- package/dist/src/sources/run.d.ts.map +1 -0
- package/dist/src/sources/run.js +673 -0
- package/dist/src/sources/run.js.map +1 -0
- package/dist/src/sources/sha256.d.ts +12 -0
- package/dist/src/sources/sha256.d.ts.map +1 -0
- package/dist/src/sources/sha256.js +95 -0
- package/dist/src/sources/sha256.js.map +1 -0
- package/dist/src/sources/sigv4.d.ts +24 -0
- package/dist/src/sources/sigv4.d.ts.map +1 -0
- package/dist/src/sources/sigv4.js +182 -0
- package/dist/src/sources/sigv4.js.map +1 -0
- package/dist/src/sources/testing.d.ts +96 -0
- package/dist/src/sources/testing.d.ts.map +1 -0
- package/dist/src/sources/testing.js +138 -0
- package/dist/src/sources/testing.js.map +1 -0
- package/dist/src/sources/types.d.ts +665 -0
- package/dist/src/sources/types.d.ts.map +1 -0
- package/dist/src/sources/types.js +10 -0
- package/dist/src/sources/types.js.map +1 -0
- package/dist/src/styles/canon/enums.d.ts.map +1 -1
- package/dist/src/styles/canon/enums.js +1 -0
- package/dist/src/styles/canon/enums.js.map +1 -1
- package/dist/src/styles/cyjs/cascade.d.ts.map +1 -1
- package/dist/src/styles/cyjs/cascade.js +68 -2
- package/dist/src/styles/cyjs/cascade.js.map +1 -1
- package/dist/src/styles/cyjs/defaults-table.d.ts.map +1 -1
- package/dist/src/styles/cyjs/defaults-table.js +2 -0
- package/dist/src/styles/cyjs/defaults-table.js.map +1 -1
- package/dist/src/styles/cyjs/emit.d.ts.map +1 -1
- package/dist/src/styles/cyjs/emit.js +18 -7
- package/dist/src/styles/cyjs/emit.js.map +1 -1
- package/dist/src/styles/cyjs/mappers.d.ts +4 -1
- package/dist/src/styles/cyjs/mappers.d.ts.map +1 -1
- package/dist/src/styles/cyjs/mappers.js +2 -0
- package/dist/src/styles/cyjs/mappers.js.map +1 -1
- package/dist/src/styles/cytoscape/emit.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/emit.js +59 -7
- package/dist/src/styles/cytoscape/emit.js.map +1 -1
- package/dist/src/styles/cytoscape/lexicon.d.ts +6 -0
- package/dist/src/styles/cytoscape/lexicon.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/lexicon.js +26 -2
- package/dist/src/styles/cytoscape/lexicon.js.map +1 -1
- package/dist/src/styles/cytoscape/resolve.d.ts +4 -1
- package/dist/src/styles/cytoscape/resolve.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/resolve.js +10 -6
- package/dist/src/styles/cytoscape/resolve.js.map +1 -1
- package/dist/src/styles/cytoscape/translate.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/translate.js +10 -10
- package/dist/src/styles/cytoscape/translate.js.map +1 -1
- package/dist/src/styles/defaults.d.ts +30 -0
- package/dist/src/styles/defaults.d.ts.map +1 -1
- package/dist/src/styles/defaults.js +45 -4
- package/dist/src/styles/defaults.js.map +1 -1
- package/dist/src/styles/io/block.d.ts.map +1 -1
- package/dist/src/styles/io/block.js +9 -0
- package/dist/src/styles/io/block.js.map +1 -1
- package/dist/src/styles/io/writer.d.ts.map +1 -1
- package/dist/src/styles/io/writer.js +7 -3
- package/dist/src/styles/io/writer.js.map +1 -1
- package/dist/src/styles/plan/resolve.d.ts +2 -1
- package/dist/src/styles/plan/resolve.d.ts.map +1 -1
- package/dist/src/styles/plan/resolve.js +13 -2
- package/dist/src/styles/plan/resolve.js.map +1 -1
- package/dist/src/styles/types.d.ts +19 -2
- package/dist/src/styles/types.d.ts.map +1 -1
- package/dist/src/styles/vocabulary.d.ts.map +1 -1
- package/dist/src/styles/vocabulary.js +15 -1
- package/dist/src/styles/vocabulary.js.map +1 -1
- package/dist/src/types.d.ts +19 -5
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/styles.js +11 -11
- package/dist/xgmml.js +3 -3
- package/docs/samples/people.json +6 -0
- package/package.json +29 -4
- package/src/common/report.ts +27 -7
- package/src/formats/cx/styles.ts +1 -0
- package/src/formats/dot/styles.ts +3 -1
- package/src/formats/gexf/styles.ts +185 -37
- package/src/formats/gml/styles.ts +5 -4
- package/src/formats/graphml/styles-plain.ts +3 -9
- package/src/formats/graphml/styles-yed.ts +93 -20
- package/src/formats/pajek/styles.ts +1 -0
- package/src/formats/xgmml/styles.ts +1 -0
- package/src/index.ts +90 -0
- package/src/registry.ts +326 -1
- package/src/sources/builtins.ts +56 -0
- package/src/sources/codes.ts +235 -0
- package/src/sources/context.ts +893 -0
- package/src/sources/credentials.ts +409 -0
- package/src/sources/cypher/descriptor.ts +125 -0
- package/src/sources/cypher/flatten.ts +323 -0
- package/src/sources/cypher/index.ts +498 -0
- package/src/sources/cypher/params.ts +41 -0
- package/src/sources/cypher/profiles.ts +78 -0
- package/src/sources/cypher/query-builder.ts +294 -0
- package/src/sources/cypher/transports/bolt.ts +228 -0
- package/src/sources/cypher/transports/neptune-analytics.ts +41 -0
- package/src/sources/cypher/transports/neptune-https.ts +122 -0
- package/src/sources/cypher/transports/query-api.ts +100 -0
- package/src/sources/cypher/transports/transport.ts +139 -0
- package/src/sources/cypher/types-map.ts +418 -0
- package/src/sources/define.ts +195 -0
- package/src/sources/fail.ts +70 -0
- package/src/sources/ids.ts +74 -0
- package/src/sources/ndex/client.ts +102 -0
- package/src/sources/ndex/descriptor.ts +64 -0
- package/src/sources/ndex/expand.ts +100 -0
- package/src/sources/ndex/index.ts +235 -0
- package/src/sources/ndex/params.ts +17 -0
- package/src/sources/ndex/share-url.ts +84 -0
- package/src/sources/params.ts +29 -0
- package/src/sources/registry.ts +325 -0
- package/src/sources/rest/descriptor.ts +74 -0
- package/src/sources/rest/index.ts +22 -0
- package/src/sources/rest/mapping.ts +401 -0
- package/src/sources/rest/openalex.ts +288 -0
- package/src/sources/rest/paging.ts +180 -0
- package/src/sources/rest/params.ts +243 -0
- package/src/sources/rest/records.ts +289 -0
- package/src/sources/rest/samples/deps-dev.ts +49 -0
- package/src/sources/rest/samples/string.ts +44 -0
- package/src/sources/rest/selectors.ts +91 -0
- package/src/sources/rest/source.ts +760 -0
- package/src/sources/rest/templates.ts +151 -0
- package/src/sources/run.ts +793 -0
- package/src/sources/sha256.ts +99 -0
- package/src/sources/sigv4.ts +207 -0
- package/src/sources/testing.ts +210 -0
- package/src/sources/types.ts +741 -0
- package/src/styles/canon/enums.ts +1 -0
- package/src/styles/cyjs/cascade.ts +81 -2
- package/src/styles/cyjs/defaults-table.ts +2 -0
- package/src/styles/cyjs/emit.ts +18 -7
- package/src/styles/cyjs/mappers.ts +6 -1
- package/src/styles/cytoscape/emit.ts +61 -7
- package/src/styles/cytoscape/lexicon.ts +28 -2
- package/src/styles/cytoscape/resolve.ts +22 -6
- package/src/styles/cytoscape/translate.ts +11 -11
- package/src/styles/defaults.ts +93 -4
- package/src/styles/io/block.ts +10 -0
- package/src/styles/io/writer.ts +8 -3
- package/src/styles/plan/resolve.ts +14 -2
- package/src/styles/types.ts +28 -2
- package/src/styles/vocabulary.ts +15 -1
- package/src/types.ts +19 -5
- package/dist/chunks/block-DiGq58c3.js.map +0 -1
- package/dist/chunks/emit-CwU8cUmG.js.map +0 -1
- package/dist/chunks/export-BvqAXCKh.js.map +0 -1
- package/dist/chunks/format-BpQBx8MZ.js.map +0 -1
- package/dist/chunks/importer-BSvfrX_h.js.map +0 -1
- package/dist/chunks/importer-CMmeMWlC.js.map +0 -1
- package/dist/chunks/importer-COTK9Tsl.js.map +0 -1
- package/dist/chunks/importer-DiZRmOQG.js.map +0 -1
- package/dist/chunks/importer-e6LGpqHB.js.map +0 -1
- package/dist/chunks/lexicon-CT69Kd87.js.map +0 -1
- package/dist/chunks/styles-BQnsga7p.js.map +0 -1
- package/dist/chunks/styles-D3fRphrO.js.map +0 -1
- package/dist/chunks/styles-yed-BF5x3_Y5.js.map +0 -1
- package/dist/chunks/writer-DMKvthQE.js.map +0 -1
package/src/styles/defaults.ts
CHANGED
|
@@ -48,6 +48,39 @@ export type ToolDerivedDefault =
|
|
|
48
48
|
/** Where the default is stated. */
|
|
49
49
|
readonly source: string;
|
|
50
50
|
}
|
|
51
|
+
| {
|
|
52
|
+
/**
|
|
53
|
+
* An edge with no color of its own takes the mean of its two nodes' colors, each channel rounded down
|
|
54
|
+
* (Gephi Preview's "mixed" edge color).
|
|
55
|
+
*/
|
|
56
|
+
readonly kind: "colorFromEndNodes";
|
|
57
|
+
/** Where the default is stated. */
|
|
58
|
+
readonly source: string;
|
|
59
|
+
}
|
|
60
|
+
| {
|
|
61
|
+
/**
|
|
62
|
+
* A node with no border of its own gets a border of its fill with each channel times `darken`, `widthFactor`
|
|
63
|
+
* times its width wide (Gephi Preview's "darker" border, scaled with the node).
|
|
64
|
+
*/
|
|
65
|
+
readonly kind: "borderFromFill";
|
|
66
|
+
/** What each color channel of the fill is multiplied by. */
|
|
67
|
+
readonly darken: number;
|
|
68
|
+
/** The border's width as a share of the node's width. */
|
|
69
|
+
readonly widthFactor: number;
|
|
70
|
+
/** Where the default is stated. */
|
|
71
|
+
readonly source: string;
|
|
72
|
+
}
|
|
73
|
+
| {
|
|
74
|
+
/**
|
|
75
|
+
* A node with no label size of its own gets a label size of its width times `factor` (Gephi Preview's
|
|
76
|
+
* proportional label size).
|
|
77
|
+
*/
|
|
78
|
+
readonly kind: "labelSizeFromWidth";
|
|
79
|
+
/** The label size per unit of the node's width. */
|
|
80
|
+
readonly factor: number;
|
|
81
|
+
/** Where the default is stated. */
|
|
82
|
+
readonly source: string;
|
|
83
|
+
}
|
|
51
84
|
| {
|
|
52
85
|
/** An edge with no width of its own is drawn as thick as its weight (1 for an edge with no weight, or a weight of 0 or below). */
|
|
53
86
|
readonly kind: "widthFromWeight";
|
|
@@ -101,10 +134,12 @@ const GV = "graphviz.org/docs/attrs";
|
|
|
101
134
|
const YED_QA = "yEd Q&A, How can I change the default nodes and/or default edges";
|
|
102
135
|
const YED_CORPUS = "yEd GraphML corpus, most frequent value";
|
|
103
136
|
const YED_EDGE = "yFiles for Java 2.19 EdgeRealizer API docs";
|
|
137
|
+
const YED_BG = "yFiles for Java 2.19 DefaultBackgroundRenderer API docs";
|
|
104
138
|
const Y3 = "yFiles for HTML API docs,";
|
|
105
139
|
const GEPHI = "gephi master 92e503df61a7";
|
|
106
140
|
const VIS = "vis-network 10.1.2 vis-network.esm.js";
|
|
107
141
|
const SIGMA = "sigma 3.0.3 packages/sigma/src";
|
|
142
|
+
const GEXFJS = "github.com/raphv/gexf-js ebfd2a7213d3 js/gexfjs.js";
|
|
108
143
|
const PAJEK = "Pajek 6.02 reference manual";
|
|
109
144
|
const PAJEK_SHAPES =
|
|
110
145
|
"the SHAPES.CFG Pajek writes when none exists (DrawEPS.htm), " +
|
|
@@ -259,7 +294,12 @@ export const TOOL_DEFAULTS: ReadonlyMap<StyleTool, ToolDefaults> = new Map<Style
|
|
|
259
294
|
labelSize: v(14, `${GV}/fontsize/`),
|
|
260
295
|
labelFont: v("Times-Roman", `${GV}/fontname/`),
|
|
261
296
|
},
|
|
262
|
-
graph: {
|
|
297
|
+
graph: {
|
|
298
|
+
background: v(
|
|
299
|
+
"#ffffff",
|
|
300
|
+
`${GV}/bgcolor/ (default none); lib/common/emit.c emit_background: no bgcolor paints white`,
|
|
301
|
+
),
|
|
302
|
+
},
|
|
263
303
|
derived: [
|
|
264
304
|
{ kind: "labelFromId", source: String.raw`${GV}/label/ (default \N, the node name)` },
|
|
265
305
|
{
|
|
@@ -295,7 +335,12 @@ export const TOOL_DEFAULTS: ReadonlyMap<StyleTool, ToolDefaults> = new Map<Style
|
|
|
295
335
|
labelFont: v("Dialog", `${YED_CORPUS} of y:EdgeLabel`),
|
|
296
336
|
labelSize: v(12, `${YED_CORPUS} of y:EdgeLabel`),
|
|
297
337
|
},
|
|
298
|
-
graph: {
|
|
338
|
+
graph: {
|
|
339
|
+
background: v(
|
|
340
|
+
"#ffffff",
|
|
341
|
+
`${YED_BG} (setColor: "By default the background color is white"); yEd manual, Preferences, Background tab`,
|
|
342
|
+
),
|
|
343
|
+
},
|
|
299
344
|
derived: [],
|
|
300
345
|
},
|
|
301
346
|
{
|
|
@@ -332,20 +377,64 @@ export const TOOL_DEFAULTS: ReadonlyMap<StyleTool, ToolDefaults> = new Map<Style
|
|
|
332
377
|
width: v(10, `${GEPHI} AbstractProcessor.java lines 195-198`),
|
|
333
378
|
height: v(10, `${GEPHI} AbstractProcessor.java lines 195-198`),
|
|
334
379
|
shape: v("ellipse", "GEXF 1.3 viz shape default disc; Preview NodeRenderer"),
|
|
380
|
+
opacity: v(1, `${GEPHI} DefaultPreset.java line 87 (NODE_OPACITY 100)`),
|
|
381
|
+
// Preview hides labels (DefaultPreset.java line 106) and so does the Overview (VizConfig.java
|
|
382
|
+
// line 113); graph-io shows them as sigma.js and gexf-js do (see formats/gexf/styles.ts), in
|
|
383
|
+
// the color and font Gephi gives a label it shows
|
|
384
|
+
labelColor: v("#000000", `${GEPHI} DefaultPreset.java line 91 (DependantOriginalColor(BLACK))`),
|
|
385
|
+
labelFont: v("Arial", `${GEPHI} DefaultPreset.java line 93 (Arial plain 12)`),
|
|
386
|
+
// the size of a size-10 node's label; Preview scales it with the node (labelSizeFromWidth below)
|
|
387
|
+
labelSize: v(12, `${GEPHI} DefaultPreset.java line 93 (Arial plain 12)`),
|
|
335
388
|
labelPosition: v(
|
|
336
389
|
"center",
|
|
337
390
|
`${GEPHI} NodeLabelRenderer.java (a label is drawn centered on its node)`,
|
|
338
391
|
),
|
|
339
392
|
},
|
|
340
393
|
edge: {
|
|
394
|
+
curved: v(
|
|
395
|
+
true,
|
|
396
|
+
`${GEPHI} DefaultPreset.java line 66 (EDGE_CURVED true); EdgeRenderer.java line 117`,
|
|
397
|
+
),
|
|
341
398
|
sourceArrow: v("none", `${GEPHI} DefaultPreset.java line 62`),
|
|
342
399
|
targetArrow: v("none", `${GEPHI} DefaultPreset.java line 62`),
|
|
400
|
+
// the vocabulary's 1 is the tool's normal arrow: Preview's ARROW_SIZE 3, drawn 3 times the edge's
|
|
401
|
+
// weight long, as Cytoscape.js's arrow-scale 1 scales with the edge's width
|
|
402
|
+
arrowSize: v(
|
|
403
|
+
1,
|
|
404
|
+
`${GEPHI} DefaultPreset.java line 62 (ARROW_SIZE 3); EdgeRenderer.java lines 255-256 (times the weight)`,
|
|
405
|
+
),
|
|
406
|
+
opacity: v(1, `${GEPHI} DefaultPreset.java line 71 (EDGE_OPACITY 100)`),
|
|
343
407
|
},
|
|
344
408
|
graph: { background: v("#ffffff", `${GEPHI} VizConfig.java line 111`) },
|
|
345
409
|
derived: [
|
|
346
410
|
{
|
|
347
|
-
kind: "
|
|
348
|
-
|
|
411
|
+
kind: "labelFromColumn",
|
|
412
|
+
column: "label",
|
|
413
|
+
source: `${SIGMA}/settings.ts lines 119-126 (renderLabels); ${GEXFJS} lines 1019-1040`,
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
kind: "colorFromEndNodes",
|
|
417
|
+
source:
|
|
418
|
+
`${GEPHI} DefaultPreset.java line 65 (EdgeColor.Mode.MIXED); ` +
|
|
419
|
+
"PreviewAPI types/EdgeColor.java lines 89-93",
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
kind: "borderFromFill",
|
|
423
|
+
darken: 0.498,
|
|
424
|
+
widthFactor: 0.08,
|
|
425
|
+
source:
|
|
426
|
+
`${GEPHI} DefaultPreset.java lines 84, 86 (DependantColor DARKER, NODE_BORDER_FIXED false); ` +
|
|
427
|
+
"PreviewAPI types/DependantColor.java lines 55, 85-86; Utils ColorUtils.java lines 22-34; " +
|
|
428
|
+
"PreviewPlugin renderers/SizeUtils.java lines 11, 33-38 (0.16 x size / 2 of a node drawn " +
|
|
429
|
+
"size x 2 wide, builders/NodeBuilder.java line 65)",
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
kind: "labelSizeFromWidth",
|
|
433
|
+
factor: 1.2,
|
|
434
|
+
source:
|
|
435
|
+
`${GEPHI} DefaultPreset.java lines 93, 98 (Arial 12, NODE_LABEL_PROPORTIONAL_SIZE true); ` +
|
|
436
|
+
"PreviewPlugin renderers/NodeLabelRenderer.java lines 165-173 (12 x the node drawn size x 2 " +
|
|
437
|
+
"wide x 0.05, builders/NodeBuilder.java line 65)",
|
|
349
438
|
},
|
|
350
439
|
{
|
|
351
440
|
kind: "widthFromWeight",
|
package/src/styles/io/block.ts
CHANGED
|
@@ -727,6 +727,15 @@ function predicate(v: unknown): Predicate {
|
|
|
727
727
|
return o as Predicate;
|
|
728
728
|
}
|
|
729
729
|
|
|
730
|
+
/**
|
|
731
|
+
* A positive finite number.
|
|
732
|
+
* @param v - the parsed value
|
|
733
|
+
* @returns the number
|
|
734
|
+
*/
|
|
735
|
+
function positive(v: unknown): number {
|
|
736
|
+
return typeof v === "number" && Number.isFinite(v) && v > 0 ? v : invalid();
|
|
737
|
+
}
|
|
738
|
+
|
|
730
739
|
/**
|
|
731
740
|
* A mapping. A mapping of a kind this version does not know is kept and gives no value.
|
|
732
741
|
* @param v - the parsed mapping
|
|
@@ -760,6 +769,7 @@ function mapping(v: unknown): Mapping {
|
|
|
760
769
|
above: scalar(q.above),
|
|
761
770
|
};
|
|
762
771
|
}),
|
|
772
|
+
...(o.step === undefined ? {} : { step: positive(o.step) }),
|
|
763
773
|
};
|
|
764
774
|
default:
|
|
765
775
|
return { ...o, kind: name(o.kind), by } as unknown as Mapping;
|
package/src/styles/io/writer.ts
CHANGED
|
@@ -9,6 +9,7 @@ import type { GraphSnapshot } from "@graphty/graph-format";
|
|
|
9
9
|
import { agree, plural } from "../../common/plural.js";
|
|
10
10
|
import type { GraphExporter, LossNote } from "../../types.js";
|
|
11
11
|
import { STYLE_ISSUE } from "../codes.js";
|
|
12
|
+
import { toolDefaults } from "../defaults.js";
|
|
12
13
|
import { styleFingerprint } from "../plan/features.js";
|
|
13
14
|
import { canonicalFor, dataCell, degreeValues, plainCell, resolveStyles } from "../plan/resolve.js";
|
|
14
15
|
import type {
|
|
@@ -516,7 +517,8 @@ function lossNotes(
|
|
|
516
517
|
}
|
|
517
518
|
|
|
518
519
|
/**
|
|
519
|
-
* W_STYLE_NOT_WRITTEN for every graph property the format does not write
|
|
520
|
+
* W_STYLE_NOT_WRITTEN for every graph property the format does not write, except one whose value is what the program
|
|
521
|
+
* the format is written for draws anyway (a white background for yEd): nothing is lost there.
|
|
520
522
|
* @param extracted - the styles
|
|
521
523
|
* @param exporter - the exporter
|
|
522
524
|
* @param caps - its style capabilities, or null
|
|
@@ -528,8 +530,11 @@ function graphLossNotes(
|
|
|
528
530
|
caps: StyleWriteCapabilities | null,
|
|
529
531
|
): LossNote[] {
|
|
530
532
|
const graphWritten = new Set<string>(caps?.graph ?? []);
|
|
531
|
-
|
|
532
|
-
|
|
533
|
+
const drawn: Readonly<Record<string, { readonly value: unknown } | undefined>> =
|
|
534
|
+
(caps?.tool === undefined ? null : toolDefaults(caps.tool))?.graph ?? {};
|
|
535
|
+
return Object.entries(extracted.styles.graph)
|
|
536
|
+
.filter(([property, value]) => !graphWritten.has(property) && drawn[property]?.value !== value)
|
|
537
|
+
.map(([property]) => property)
|
|
533
538
|
.map((property) =>
|
|
534
539
|
Object.freeze({
|
|
535
540
|
code: STYLE_ISSUE.NOT_WRITTEN,
|
|
@@ -481,9 +481,21 @@ export function interpolate(a: StyleValue, b: StyleValue, t: number): StyleValue
|
|
|
481
481
|
* Evaluates a continuous mapping at x.
|
|
482
482
|
* @param points - the points, in increasing `at`
|
|
483
483
|
* @param x - the input
|
|
484
|
+
* @param step - when given, a number is rounded to the nearest multiple of it (a whole-number property)
|
|
484
485
|
* @returns the value, or null for a missing or non-finite input
|
|
485
486
|
*/
|
|
486
|
-
export function evalContinuous(points: readonly ContinuousPoint[], x: number | null): StyleValue | null {
|
|
487
|
+
export function evalContinuous(points: readonly ContinuousPoint[], x: number | null, step?: number): StyleValue | null {
|
|
488
|
+
const v = evalPoints(points, x);
|
|
489
|
+
return typeof v === "number" && step !== undefined && step > 0 ? num6(Math.round(v / step) * step) : v;
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
/**
|
|
493
|
+
* A continuous mapping's value at x, unrounded.
|
|
494
|
+
* @param points - the points, in increasing `at`
|
|
495
|
+
* @param x - the input
|
|
496
|
+
* @returns the value, or null for a missing or non-finite input
|
|
497
|
+
*/
|
|
498
|
+
function evalPoints(points: readonly ContinuousPoint[], x: number | null): StyleValue | null {
|
|
487
499
|
if (x === null || !Number.isFinite(x) || points.length === 0) {
|
|
488
500
|
return null;
|
|
489
501
|
}
|
|
@@ -539,7 +551,7 @@ function evalMapping(
|
|
|
539
551
|
return j < 0 ? null : m.table[j][1];
|
|
540
552
|
}
|
|
541
553
|
case "continuous":
|
|
542
|
-
return Array.isArray(v) ? null : evalContinuous(m.points, numberOf(v));
|
|
554
|
+
return Array.isArray(v) ? null : evalContinuous(m.points, numberOf(v), m.step);
|
|
543
555
|
default:
|
|
544
556
|
return null;
|
|
545
557
|
}
|
package/src/styles/types.ts
CHANGED
|
@@ -83,11 +83,21 @@ export type StyleArrowShape =
|
|
|
83
83
|
export type StyleLabelWeight = "normal" | "bold";
|
|
84
84
|
|
|
85
85
|
/**
|
|
86
|
-
* Where a node's label sits relative to the node.
|
|
86
|
+
* Where a node's label sits relative to the node. The sides and corners are outside the node (`top` is above it);
|
|
87
|
+
* `inside-top` is inside the node, along its top edge (a group box's title).
|
|
87
88
|
* @category Styles
|
|
88
89
|
*/
|
|
89
90
|
export type StyleLabelPosition =
|
|
90
|
-
|
|
91
|
+
| "center"
|
|
92
|
+
| "top"
|
|
93
|
+
| "bottom"
|
|
94
|
+
| "left"
|
|
95
|
+
| "right"
|
|
96
|
+
| "top-left"
|
|
97
|
+
| "top-right"
|
|
98
|
+
| "bottom-left"
|
|
99
|
+
| "bottom-right"
|
|
100
|
+
| "inside-top";
|
|
91
101
|
|
|
92
102
|
/**
|
|
93
103
|
* The neutral node properties and the type of each value. Lengths are in the unit `FileStyles.units.length`
|
|
@@ -421,6 +431,11 @@ export type Mapping =
|
|
|
421
431
|
readonly by: ColumnRef;
|
|
422
432
|
/** The points, in increasing `at`. */
|
|
423
433
|
readonly points: readonly ContinuousPoint[];
|
|
434
|
+
/**
|
|
435
|
+
* When set, a number the mapping gives is rounded to the nearest multiple of `step`, as the writing tool
|
|
436
|
+
* draws a property that holds whole numbers (Cytoscape's font size: 1; its 0..255 transparency: 1/255).
|
|
437
|
+
*/
|
|
438
|
+
readonly step?: number;
|
|
424
439
|
};
|
|
425
440
|
|
|
426
441
|
/**
|
|
@@ -448,6 +463,12 @@ export type StyleRuleReason =
|
|
|
448
463
|
| "LAYER_CAP"
|
|
449
464
|
/** Edges with no color of their own take their source node's color, as the writing tool draws them. */
|
|
450
465
|
| "SOURCE_NODE_COLOR"
|
|
466
|
+
/** Edges with no color of their own take the mean of their two nodes' colors, as the writing tool draws them. */
|
|
467
|
+
| "END_NODES_COLOR"
|
|
468
|
+
/** Nodes with no border of their own get a border darker than their fill and scaled with their size, as the writing tool draws them. */
|
|
469
|
+
| "FILL_BORDER"
|
|
470
|
+
/** Nodes with no label size of their own get a label size scaled with their size, as the writing tool draws them. */
|
|
471
|
+
| "NODE_SIZE_LABEL"
|
|
451
472
|
/** Edges with no width of their own are as thick as their weight, as the writing tool draws them. */
|
|
452
473
|
| "EDGE_WEIGHT"
|
|
453
474
|
/** Nodes with no label of their own show their name, as the writing tool draws them (Graphviz's `\N`). */
|
|
@@ -792,6 +813,11 @@ export interface StyleWriteCapabilities {
|
|
|
792
813
|
readonly edge: readonly EdgeStyleProperty[];
|
|
793
814
|
/** Graph properties written natively. */
|
|
794
815
|
readonly graph?: readonly GraphStyleProperty[];
|
|
816
|
+
/**
|
|
817
|
+
* The program that draws the files this writer writes, when there is one. A graph property the format has no
|
|
818
|
+
* place for is not reported lost when its value is what that program draws anyway (its tool default).
|
|
819
|
+
*/
|
|
820
|
+
readonly tool?: StyleTool;
|
|
795
821
|
/** Where the block and the tagged values go. */
|
|
796
822
|
readonly block: "native" | "attributes" | "none";
|
|
797
823
|
}
|
package/src/styles/vocabulary.ts
CHANGED
|
@@ -129,7 +129,21 @@ export const STYLE_ENUMS: ReadonlyMap<StyleValueKind, readonly string[]> = new M
|
|
|
129
129
|
],
|
|
130
130
|
],
|
|
131
131
|
["weight", ["normal", "bold"]],
|
|
132
|
-
[
|
|
132
|
+
[
|
|
133
|
+
"position",
|
|
134
|
+
[
|
|
135
|
+
"center",
|
|
136
|
+
"top",
|
|
137
|
+
"bottom",
|
|
138
|
+
"left",
|
|
139
|
+
"right",
|
|
140
|
+
"top-left",
|
|
141
|
+
"top-right",
|
|
142
|
+
"bottom-left",
|
|
143
|
+
"bottom-right",
|
|
144
|
+
"inside-top",
|
|
145
|
+
],
|
|
146
|
+
],
|
|
133
147
|
]);
|
|
134
148
|
|
|
135
149
|
/** The enumerations that keep unknown spellings as `other:<raw>`. */
|
package/src/types.ts
CHANGED
|
@@ -18,6 +18,8 @@ import {
|
|
|
18
18
|
} from "@graphty/graph-format";
|
|
19
19
|
|
|
20
20
|
import type { ImporterPositions, PositionReadContext } from "./positions/types.js";
|
|
21
|
+
import { type SourceIssueCode } from "./sources/codes.js";
|
|
22
|
+
import { type SourceReportInfo } from "./sources/types.js";
|
|
21
23
|
import type {
|
|
22
24
|
EdgeStyleProperty,
|
|
23
25
|
GraphStyleProperty,
|
|
@@ -170,9 +172,10 @@ export interface CommonImportOptions {
|
|
|
170
172
|
* Called as the input is read, with the bytes read so far and the total. For a string or a
|
|
171
173
|
* Uint8Array the total is known from the first call. For a stream (which includes loadFromUrl()
|
|
172
174
|
* and loadFromFile()) it is undefined until the last call, which always has
|
|
173
|
-
* `bytesDone === bytesTotal`. Text counts its UTF-8 length.
|
|
175
|
+
* `bytesDone === bytesTotal`. Text counts its UTF-8 length. A load from a network source passes a
|
|
176
|
+
* third argument, "bytes" or "items", saying what is counted.
|
|
174
177
|
*/
|
|
175
|
-
onProgress?: ((bytesDone: number, bytesTotal?: number) => void) | undefined;
|
|
178
|
+
onProgress?: ((bytesDone: number, bytesTotal?: number, unit?: "items" | "bytes") => void) | undefined;
|
|
176
179
|
/**
|
|
177
180
|
* The character encoding of byte input, as a label such as "utf-8", "windows-1252" or
|
|
178
181
|
* "utf-16le". Without it graph-io uses a byte order mark, then the encoding the file declares
|
|
@@ -553,9 +556,18 @@ export interface ImportIssue {
|
|
|
553
556
|
* kept, possibly changed.
|
|
554
557
|
*/
|
|
555
558
|
readonly severity: "error" | "warning";
|
|
556
|
-
/**
|
|
557
|
-
|
|
558
|
-
|
|
559
|
+
/**
|
|
560
|
+
* A stable code; E_ for errors, W_ for warnings ("E_UNKNOWN_NODE", "W_WIDENED"). The network
|
|
561
|
+
* source codes (`SOURCE_ISSUE`) autocomplete; every other code is a string.
|
|
562
|
+
*/
|
|
563
|
+
readonly code: SourceIssueCode | (string & {}); // NOSONAR(S4335): open string union, keeps the known names autocompleting
|
|
564
|
+
/**
|
|
565
|
+
* The issue's machine-readable values (`{ status: 401 }`), when it has any. Every network source
|
|
566
|
+
* issue has them (`SourceIssueParams` maps each code to its shape); an application writes its
|
|
567
|
+
* own words from the code and these values.
|
|
568
|
+
*/
|
|
569
|
+
readonly params?: Readonly<Record<string, unknown>> | undefined;
|
|
570
|
+
/** A plain-English message, for logs. */
|
|
559
571
|
readonly message: string;
|
|
560
572
|
/** The 1-based line in the input, or null when the format has no lines or it is unknown. */
|
|
561
573
|
readonly line: number | null;
|
|
@@ -598,6 +610,8 @@ export interface ImportReport {
|
|
|
598
610
|
readonly lossy: readonly LossNote[];
|
|
599
611
|
/** How long reading the file took, in milliseconds. */
|
|
600
612
|
readonly durationMs: number;
|
|
613
|
+
/** What a load from a network source did: requests, bytes, where to resume. Experimental. */
|
|
614
|
+
readonly source?: SourceReportInfo | undefined;
|
|
601
615
|
}
|
|
602
616
|
|
|
603
617
|
/**
|