@graphty/graph-io 0.3.47 → 0.3.49
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-Bzn3L-je.js} +2 -2
- package/dist/chunks/{approximations-wWjCRzKj.js.map → approximations-Bzn3L-je.js.map} +1 -1
- package/dist/chunks/bends-BGXjv_U4.js +129 -0
- package/dist/chunks/bends-BGXjv_U4.js.map +1 -0
- package/dist/chunks/{block-DiGq58c3.js → block-iptrlMBb.js} +947 -134
- package/dist/chunks/block-iptrlMBb.js.map +1 -0
- package/dist/chunks/choose-CczZJaX_.js +717 -0
- package/dist/chunks/choose-CczZJaX_.js.map +1 -0
- package/dist/chunks/codes-BE2xir2k.js +157 -0
- package/dist/chunks/codes-BE2xir2k.js.map +1 -0
- package/dist/chunks/{constants-BKwqelYD.js → constants-CKkYLPtt.js} +2 -2
- package/dist/chunks/{constants-BKwqelYD.js.map → constants-CKkYLPtt.js.map} +1 -1
- package/dist/chunks/context-C3p0RQxR.js +664 -0
- package/dist/chunks/context-C3p0RQxR.js.map +1 -0
- package/dist/chunks/{convert-BcQ8_jMo.js → convert-Ct2zelbQ.js} +7 -2
- package/dist/chunks/convert-Ct2zelbQ.js.map +1 -0
- package/dist/chunks/credentials-DXHx7nwR.js +349 -0
- package/dist/chunks/credentials-DXHx7nwR.js.map +1 -0
- package/dist/chunks/cx-export-Bt6NoqTQ.js +259 -0
- package/dist/chunks/cx-export-Bt6NoqTQ.js.map +1 -0
- package/dist/chunks/descriptor-B28U25x4.js +60 -0
- package/dist/chunks/descriptor-B28U25x4.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/descriptor-DLA5kINx.js +142 -0
- package/dist/chunks/descriptor-DLA5kINx.js.map +1 -0
- package/dist/chunks/{emit-CwU8cUmG.js → emit-BwHQkZle.js} +1690 -103
- package/dist/chunks/emit-BwHQkZle.js.map +1 -0
- package/dist/chunks/{escape-CgzxiYPg.js → escape-CuCIzNMB.js} +12 -12
- package/dist/chunks/{escape-CgzxiYPg.js.map → escape-CuCIzNMB.js.map} +1 -1
- package/dist/chunks/{export-BvqAXCKh.js → export-Cha4dRFz.js} +48 -1780
- package/dist/chunks/export-Cha4dRFz.js.map +1 -0
- package/dist/chunks/{exporter--Mk9gXCJ.js → exporter-BP6otMO6.js} +6 -4
- package/dist/chunks/{exporter--Mk9gXCJ.js.map → exporter-BP6otMO6.js.map} +1 -1
- package/dist/chunks/{exporter-CrDWIyiq.js → exporter-D2CETOMK.js} +1222 -154
- package/dist/chunks/exporter-D2CETOMK.js.map +1 -0
- package/dist/chunks/{exporter-DndFlGSa.js → exporter-D9yMtocA.js} +7 -6
- package/dist/chunks/{exporter-DndFlGSa.js.map → exporter-D9yMtocA.js.map} +1 -1
- package/dist/chunks/exporter-_jrBTnos.js +1009 -0
- package/dist/chunks/exporter-_jrBTnos.js.map +1 -0
- package/dist/chunks/{exporter-CJgfhF-l.js → exporter-nDfxIK5D.js} +9 -7
- package/dist/chunks/{exporter-CJgfhF-l.js.map → exporter-nDfxIK5D.js.map} +1 -1
- package/dist/chunks/format-BXiAb-1h.js +408 -0
- package/dist/chunks/format-BXiAb-1h.js.map +1 -0
- package/dist/chunks/{generic-Dq1ntt9q.js → generic-ymWCETAJ.js} +387 -31
- package/dist/chunks/generic-ymWCETAJ.js.map +1 -0
- package/dist/chunks/{importer-CMmeMWlC.js → importer-B92x1xY5.js} +15 -263
- package/dist/chunks/importer-B92x1xY5.js.map +1 -0
- package/dist/chunks/{importer-DiZRmOQG.js → importer-CT9mJ1nn.js} +328 -90
- package/dist/chunks/importer-CT9mJ1nn.js.map +1 -0
- package/dist/chunks/{importer-COTK9Tsl.js → importer-DaLTjbds.js} +116 -1099
- package/dist/chunks/importer-DaLTjbds.js.map +1 -0
- package/dist/chunks/{importer-iFYPEKaJ.js → importer-GREKMdIf.js} +28 -16
- package/dist/chunks/importer-GREKMdIf.js.map +1 -0
- package/dist/chunks/{importer-BSvfrX_h.js → importer-PqaaKKnY.js} +23 -1016
- package/dist/chunks/importer-PqaaKKnY.js.map +1 -0
- package/dist/chunks/{importer-yh_aBCU6.js → importer-Vn5QvmmJ.js} +66 -12
- package/dist/chunks/importer-Vn5QvmmJ.js.map +1 -0
- package/dist/chunks/{importer-e6LGpqHB.js → importer-vRq4h3j5.js} +1470 -354
- package/dist/chunks/importer-vRq4h3j5.js.map +1 -0
- package/dist/chunks/input-CAxt_aV-.js +1397 -0
- package/dist/chunks/input-CAxt_aV-.js.map +1 -0
- package/dist/chunks/{json-elements-DJZRZ6jd.js → json-elements-Cq76WjnZ.js} +4 -4
- package/dist/chunks/{json-elements-DJZRZ6jd.js.map → json-elements-Cq76WjnZ.js.map} +1 -1
- package/dist/chunks/{lexicon-CT69Kd87.js → lexicon-Clf4QIyl.js} +299 -77
- package/dist/chunks/lexicon-Clf4QIyl.js.map +1 -0
- package/dist/chunks/{ontology-export-G4MqRdux.js → ontology-export-OMo91mb0.js} +4 -3
- package/dist/chunks/{ontology-export-G4MqRdux.js.map → ontology-export-OMo91mb0.js.map} +1 -1
- package/dist/chunks/{records-CiaWZrFH.js → records-NJiYvekn.js} +2 -2
- package/dist/chunks/{records-CiaWZrFH.js.map → records-NJiYvekn.js.map} +1 -1
- package/dist/chunks/{format-BpQBx8MZ.js → report-CwMfYa9J.js} +70 -127
- package/dist/chunks/report-CwMfYa9J.js.map +1 -0
- package/dist/chunks/round-trip-Zm3_ivgq.js +79 -0
- package/dist/chunks/round-trip-Zm3_ivgq.js.map +1 -0
- package/dist/chunks/sigv4-EokFic1V.js +247 -0
- package/dist/chunks/sigv4-EokFic1V.js.map +1 -0
- package/dist/chunks/{styles-BQnsga7p.js → styles-CCs214_3.js} +1300 -168
- package/dist/chunks/styles-CCs214_3.js.map +1 -0
- package/dist/chunks/styles-Cm62yyQX.js +2812 -0
- package/dist/chunks/styles-Cm62yyQX.js.map +1 -0
- package/dist/chunks/styles-DPQQIig4.js +1928 -0
- package/dist/chunks/styles-DPQQIig4.js.map +1 -0
- package/dist/chunks/styles-yed-UMFdNqze.js +1213 -0
- package/dist/chunks/styles-yed-UMFdNqze.js.map +1 -0
- package/dist/chunks/{text-CzJNFOS9.js → text-ystE2bYi.js} +2 -2
- package/dist/chunks/{text-CzJNFOS9.js.map → text-ystE2bYi.js.map} +1 -1
- 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 +5 -4
- package/dist/dot.js.map +1 -1
- package/dist/gexf.js +42 -10
- package/dist/gexf.js.map +1 -1
- package/dist/gml.js +850 -193
- package/dist/gml.js.map +1 -1
- package/dist/graph-io.js +1189 -220
- package/dist/graph-io.js.map +1 -1
- package/dist/graphml.js +3 -3
- package/dist/json.js +3 -2
- 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/positions.js +45 -3
- package/dist/positions.js.map +1 -1
- package/dist/sources-cypher.d.ts +1 -0
- package/dist/sources-cypher.js +1351 -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 +1377 -0
- package/dist/sources-rest.js.map +1 -0
- package/dist/sources-sparql.d.ts +1 -0
- package/dist/sources-sparql.js +405 -0
- package/dist/sources-sparql.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/importer.d.ts.map +1 -1
- package/dist/src/formats/cx/importer.js +5 -1
- package/dist/src/formats/cx/importer.js.map +1 -1
- package/dist/src/formats/cx/styles.d.ts +24 -1
- package/dist/src/formats/cx/styles.d.ts.map +1 -1
- package/dist/src/formats/cx/styles.js +118 -11
- package/dist/src/formats/cx/styles.js.map +1 -1
- package/dist/src/formats/cx2/importer.d.ts.map +1 -1
- package/dist/src/formats/cx2/importer.js +1 -0
- package/dist/src/formats/cx2/importer.js.map +1 -1
- package/dist/src/formats/cx2/styles.d.ts.map +1 -1
- package/dist/src/formats/cx2/styles.js +3 -1
- package/dist/src/formats/cx2/styles.js.map +1 -1
- package/dist/src/formats/cys/importer.d.ts.map +1 -1
- package/dist/src/formats/cys/importer.js +1 -0
- package/dist/src/formats/cys/importer.js.map +1 -1
- package/dist/src/formats/cys/styles.d.ts +2 -0
- package/dist/src/formats/cys/styles.d.ts.map +1 -1
- package/dist/src/formats/cys/styles.js +15 -7
- package/dist/src/formats/cys/styles.js.map +1 -1
- package/dist/src/formats/dot/drawing.d.ts +98 -0
- package/dist/src/formats/dot/drawing.d.ts.map +1 -0
- package/dist/src/formats/dot/drawing.js +734 -0
- package/dist/src/formats/dot/drawing.js.map +1 -0
- package/dist/src/formats/dot/importer.d.ts.map +1 -1
- package/dist/src/formats/dot/importer.js +108 -31
- package/dist/src/formats/dot/importer.js.map +1 -1
- package/dist/src/formats/dot/label-places.d.ts +34 -0
- package/dist/src/formats/dot/label-places.d.ts.map +1 -0
- package/dist/src/formats/dot/label-places.js +179 -0
- package/dist/src/formats/dot/label-places.js.map +1 -0
- package/dist/src/formats/dot/record.d.ts +50 -0
- package/dist/src/formats/dot/record.d.ts.map +1 -0
- package/dist/src/formats/dot/record.js +275 -0
- package/dist/src/formats/dot/record.js.map +1 -0
- package/dist/src/formats/dot/styles.d.ts +62 -2
- package/dist/src/formats/dot/styles.d.ts.map +1 -1
- package/dist/src/formats/dot/styles.js +1457 -120
- package/dist/src/formats/dot/styles.js.map +1 -1
- package/dist/src/formats/gexf/dialog-metrics.d.ts +15 -0
- package/dist/src/formats/gexf/dialog-metrics.d.ts.map +1 -0
- package/dist/src/formats/gexf/dialog-metrics.js +59 -0
- package/dist/src/formats/gexf/dialog-metrics.js.map +1 -0
- package/dist/src/formats/gexf/importer.d.ts +7 -0
- package/dist/src/formats/gexf/importer.d.ts.map +1 -1
- package/dist/src/formats/gexf/importer.js +41 -5
- package/dist/src/formats/gexf/importer.js.map +1 -1
- package/dist/src/formats/gexf/preview.d.ts +77 -0
- package/dist/src/formats/gexf/preview.d.ts.map +1 -0
- package/dist/src/formats/gexf/preview.js +191 -0
- package/dist/src/formats/gexf/preview.js.map +1 -0
- package/dist/src/formats/gexf/schema.d.ts.map +1 -1
- package/dist/src/formats/gexf/schema.js +2 -1
- package/dist/src/formats/gexf/schema.js.map +1 -1
- package/dist/src/formats/gexf/styles.d.ts +60 -16
- package/dist/src/formats/gexf/styles.d.ts.map +1 -1
- package/dist/src/formats/gexf/styles.js +883 -131
- package/dist/src/formats/gexf/styles.js.map +1 -1
- package/dist/src/formats/gml/importer.d.ts +5 -2
- package/dist/src/formats/gml/importer.d.ts.map +1 -1
- package/dist/src/formats/gml/importer.js +258 -71
- package/dist/src/formats/gml/importer.js.map +1 -1
- package/dist/src/formats/gml/index.d.ts +1 -1
- package/dist/src/formats/gml/index.d.ts.map +1 -1
- package/dist/src/formats/gml/index.js +1 -1
- package/dist/src/formats/gml/index.js.map +1 -1
- package/dist/src/formats/gml/positions.d.ts +7 -0
- package/dist/src/formats/gml/positions.d.ts.map +1 -1
- package/dist/src/formats/gml/positions.js +29 -7
- package/dist/src/formats/gml/positions.js.map +1 -1
- package/dist/src/formats/gml/styles.d.ts.map +1 -1
- package/dist/src/formats/gml/styles.js +756 -103
- 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 +8 -12
- package/dist/src/formats/graphml/styles-plain.js.map +1 -1
- package/dist/src/formats/graphml/styles-yed.d.ts +21 -15
- package/dist/src/formats/graphml/styles-yed.d.ts.map +1 -1
- package/dist/src/formats/graphml/styles-yed.js +749 -148
- package/dist/src/formats/graphml/styles-yed.js.map +1 -1
- package/dist/src/formats/graphml/styles-yfiles3.d.ts +1 -1
- package/dist/src/formats/graphml/styles-yfiles3.d.ts.map +1 -1
- package/dist/src/formats/graphml/styles-yfiles3.js +429 -64
- package/dist/src/formats/graphml/styles-yfiles3.js.map +1 -1
- package/dist/src/formats/graphml/yfiles.d.ts +3 -3
- package/dist/src/formats/graphml/yfiles.d.ts.map +1 -1
- package/dist/src/formats/graphml/yfiles.js +16 -6
- package/dist/src/formats/graphml/yfiles.js.map +1 -1
- package/dist/src/formats/json/dialect.d.ts +3 -2
- package/dist/src/formats/json/dialect.d.ts.map +1 -1
- package/dist/src/formats/json/dialect.js +39 -5
- package/dist/src/formats/json/dialect.js.map +1 -1
- package/dist/src/formats/json/importer.d.ts +13 -2
- package/dist/src/formats/json/importer.d.ts.map +1 -1
- package/dist/src/formats/json/importer.js +42 -6
- package/dist/src/formats/json/importer.js.map +1 -1
- package/dist/src/formats/json/index.d.ts +1 -1
- package/dist/src/formats/json/index.d.ts.map +1 -1
- package/dist/src/formats/json/index.js +1 -1
- package/dist/src/formats/json/index.js.map +1 -1
- package/dist/src/formats/json/positions.d.ts +5 -2
- package/dist/src/formats/json/positions.d.ts.map +1 -1
- package/dist/src/formats/json/positions.js +20 -4
- package/dist/src/formats/json/positions.js.map +1 -1
- package/dist/src/formats/json/styles.d.ts +12 -1
- package/dist/src/formats/json/styles.d.ts.map +1 -1
- package/dist/src/formats/json/styles.js +1755 -136
- package/dist/src/formats/json/styles.js.map +1 -1
- package/dist/src/formats/pajek/draw.d.ts +96 -0
- package/dist/src/formats/pajek/draw.d.ts.map +1 -0
- package/dist/src/formats/pajek/draw.js +372 -0
- package/dist/src/formats/pajek/draw.js.map +1 -0
- package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
- package/dist/src/formats/pajek/exporter.js +70 -51
- package/dist/src/formats/pajek/exporter.js.map +1 -1
- package/dist/src/formats/pajek/importer.d.ts +9 -0
- package/dist/src/formats/pajek/importer.d.ts.map +1 -1
- package/dist/src/formats/pajek/importer.js +233 -102
- package/dist/src/formats/pajek/importer.js.map +1 -1
- package/dist/src/formats/pajek/index.d.ts +1 -0
- package/dist/src/formats/pajek/index.d.ts.map +1 -1
- package/dist/src/formats/pajek/index.js.map +1 -1
- package/dist/src/formats/pajek/styles.d.ts +15 -7
- package/dist/src/formats/pajek/styles.d.ts.map +1 -1
- package/dist/src/formats/pajek/styles.js +1279 -114
- package/dist/src/formats/pajek/styles.js.map +1 -1
- package/dist/src/formats/pajek/syntax.d.ts +10 -1
- package/dist/src/formats/pajek/syntax.d.ts.map +1 -1
- package/dist/src/formats/pajek/syntax.js +26 -2
- package/dist/src/formats/pajek/syntax.js.map +1 -1
- package/dist/src/formats/xgmml/emit.d.ts +1 -0
- package/dist/src/formats/xgmml/emit.d.ts.map +1 -1
- package/dist/src/formats/xgmml/emit.js +65 -5
- package/dist/src/formats/xgmml/emit.js.map +1 -1
- package/dist/src/formats/xgmml/styles.d.ts +23 -3
- package/dist/src/formats/xgmml/styles.d.ts.map +1 -1
- package/dist/src/formats/xgmml/styles.js +278 -60
- package/dist/src/formats/xgmml/styles.js.map +1 -1
- package/dist/src/index.d.ts +10 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +11 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/positions/convert.d.ts.map +1 -1
- package/dist/src/positions/convert.js +11 -1
- package/dist/src/positions/convert.js.map +1 -1
- package/dist/src/positions/extract.d.ts.map +1 -1
- package/dist/src/positions/extract.js +53 -1
- package/dist/src/positions/extract.js.map +1 -1
- package/dist/src/positions/index.d.ts +1 -1
- package/dist/src/positions/index.d.ts.map +1 -1
- package/dist/src/positions/types.d.ts +59 -0
- package/dist/src/positions/types.d.ts.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 +53 -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 +740 -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 +124 -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 +511 -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 +123 -0
- package/dist/src/sources/cypher/query-builder.d.ts.map +1 -0
- package/dist/src/sources/cypher/query-builder.js +267 -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 +69 -0
- package/dist/src/sources/ids.d.ts.map +1 -0
- package/dist/src/sources/ids.js +69 -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 +31 -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 +76 -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 +650 -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 +26 -0
- package/dist/src/sources/sigv4.d.ts.map +1 -0
- package/dist/src/sources/sigv4.js +184 -0
- package/dist/src/sources/sigv4.js.map +1 -0
- package/dist/src/sources/sparql/descriptor.d.ts +10 -0
- package/dist/src/sources/sparql/descriptor.d.ts.map +1 -0
- package/dist/src/sources/sparql/descriptor.js +64 -0
- package/dist/src/sources/sparql/descriptor.js.map +1 -0
- package/dist/src/sources/sparql/index.d.ts +28 -0
- package/dist/src/sources/sparql/index.d.ts.map +1 -0
- package/dist/src/sources/sparql/index.js +314 -0
- package/dist/src/sources/sparql/index.js.map +1 -0
- package/dist/src/sources/sparql/ntriples.d.ts +69 -0
- package/dist/src/sources/sparql/ntriples.d.ts.map +1 -0
- package/dist/src/sources/sparql/ntriples.js +180 -0
- package/dist/src/sources/sparql/ntriples.js.map +1 -0
- package/dist/src/sources/sparql/params.d.ts +27 -0
- package/dist/src/sources/sparql/params.d.ts.map +1 -0
- package/dist/src/sources/sparql/params.js +5 -0
- package/dist/src/sources/sparql/params.js.map +1 -0
- package/dist/src/sources/sparql/query.d.ts +72 -0
- package/dist/src/sources/sparql/query.d.ts.map +1 -0
- package/dist/src/sources/sparql/query.js +113 -0
- package/dist/src/sources/sparql/query.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 +696 -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/annotations.d.ts +61 -5
- package/dist/src/styles/annotations.d.ts.map +1 -1
- package/dist/src/styles/annotations.js +130 -22
- package/dist/src/styles/annotations.js.map +1 -1
- package/dist/src/styles/canon/bends.d.ts +46 -0
- package/dist/src/styles/canon/bends.d.ts.map +1 -1
- package/dist/src/styles/canon/bends.js +123 -0
- package/dist/src/styles/canon/bends.js.map +1 -1
- package/dist/src/styles/canon/color-tables.d.ts +6 -1
- package/dist/src/styles/canon/color-tables.d.ts.map +1 -1
- package/dist/src/styles/canon/color-tables.js +10 -4
- package/dist/src/styles/canon/color-tables.js.map +1 -1
- package/dist/src/styles/canon/color.d.ts +3 -1
- package/dist/src/styles/canon/color.d.ts.map +1 -1
- package/dist/src/styles/canon/color.js +103 -3
- package/dist/src/styles/canon/color.js.map +1 -1
- package/dist/src/styles/canon/enums.d.ts +2 -2
- package/dist/src/styles/canon/enums.d.ts.map +1 -1
- package/dist/src/styles/canon/enums.js +82 -7
- package/dist/src/styles/canon/enums.js.map +1 -1
- package/dist/src/styles/canon/graphviz.d.ts +12 -3
- package/dist/src/styles/canon/graphviz.d.ts.map +1 -1
- package/dist/src/styles/canon/graphviz.js +57 -9
- package/dist/src/styles/canon/graphviz.js.map +1 -1
- package/dist/src/styles/canon/number.d.ts +8 -0
- package/dist/src/styles/canon/number.d.ts.map +1 -1
- package/dist/src/styles/canon/number.js +18 -0
- package/dist/src/styles/canon/number.js.map +1 -1
- package/dist/src/styles/canon/text.d.ts +29 -2
- package/dist/src/styles/canon/text.d.ts.map +1 -1
- package/dist/src/styles/canon/text.js +156 -16
- package/dist/src/styles/canon/text.js.map +1 -1
- package/dist/src/styles/codes.d.ts +2 -0
- package/dist/src/styles/codes.d.ts.map +1 -1
- package/dist/src/styles/codes.js +2 -0
- package/dist/src/styles/codes.js.map +1 -1
- package/dist/src/styles/cyjs/cascade.d.ts.map +1 -1
- package/dist/src/styles/cyjs/cascade.js +1037 -35
- 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 +5 -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 +216 -12
- package/dist/src/styles/cyjs/emit.js.map +1 -1
- package/dist/src/styles/cyjs/face.d.ts +20 -0
- package/dist/src/styles/cyjs/face.d.ts.map +1 -0
- package/dist/src/styles/cyjs/face.js +332 -0
- package/dist/src/styles/cyjs/face.js.map +1 -0
- package/dist/src/styles/cyjs/mappers.d.ts +48 -2
- package/dist/src/styles/cyjs/mappers.d.ts.map +1 -1
- package/dist/src/styles/cyjs/mappers.js +463 -26
- package/dist/src/styles/cyjs/mappers.js.map +1 -1
- package/dist/src/styles/cyjs/routes.d.ts +53 -0
- package/dist/src/styles/cyjs/routes.d.ts.map +1 -0
- package/dist/src/styles/cyjs/routes.js +360 -0
- package/dist/src/styles/cyjs/routes.js.map +1 -0
- package/dist/src/styles/cytoscape/charts.d.ts +23 -0
- package/dist/src/styles/cytoscape/charts.d.ts.map +1 -0
- package/dist/src/styles/cytoscape/charts.js +560 -0
- package/dist/src/styles/cytoscape/charts.js.map +1 -0
- package/dist/src/styles/cytoscape/emit.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/emit.js +204 -44
- package/dist/src/styles/cytoscape/emit.js.map +1 -1
- package/dist/src/styles/cytoscape/lexicon.d.ts +97 -3
- package/dist/src/styles/cytoscape/lexicon.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/lexicon.js +413 -79
- package/dist/src/styles/cytoscape/lexicon.js.map +1 -1
- package/dist/src/styles/cytoscape/mappings.d.ts +30 -0
- package/dist/src/styles/cytoscape/mappings.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/mappings.js +92 -0
- package/dist/src/styles/cytoscape/mappings.js.map +1 -1
- package/dist/src/styles/cytoscape/resolve.d.ts +46 -3
- package/dist/src/styles/cytoscape/resolve.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/resolve.js +632 -22
- 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 +50 -0
- package/dist/src/styles/defaults.d.ts.map +1 -1
- package/dist/src/styles/defaults.js +315 -37
- package/dist/src/styles/defaults.js.map +1 -1
- package/dist/src/styles/index.d.ts +4 -3
- package/dist/src/styles/index.d.ts.map +1 -1
- package/dist/src/styles/index.js +3 -2
- package/dist/src/styles/index.js.map +1 -1
- package/dist/src/styles/internal.d.ts +1 -0
- package/dist/src/styles/internal.d.ts.map +1 -1
- package/dist/src/styles/internal.js +1 -0
- package/dist/src/styles/internal.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/generic.d.ts.map +1 -1
- package/dist/src/styles/io/generic.js +56 -16
- package/dist/src/styles/io/generic.js.map +1 -1
- package/dist/src/styles/io/round-trip.d.ts +56 -0
- package/dist/src/styles/io/round-trip.d.ts.map +1 -0
- package/dist/src/styles/io/round-trip.js +138 -0
- package/dist/src/styles/io/round-trip.js.map +1 -0
- package/dist/src/styles/io/writer.d.ts.map +1 -1
- package/dist/src/styles/io/writer.js +13 -4
- package/dist/src/styles/io/writer.js.map +1 -1
- package/dist/src/styles/notes.d.ts.map +1 -1
- package/dist/src/styles/notes.js +1 -0
- package/dist/src/styles/notes.js.map +1 -1
- package/dist/src/styles/plan/features.d.ts +1 -1
- package/dist/src/styles/plan/features.d.ts.map +1 -1
- package/dist/src/styles/plan/features.js +22 -2
- package/dist/src/styles/plan/features.js.map +1 -1
- package/dist/src/styles/plan/index.d.ts +1 -1
- package/dist/src/styles/plan/index.d.ts.map +1 -1
- package/dist/src/styles/plan/index.js +1 -1
- package/dist/src/styles/plan/index.js.map +1 -1
- package/dist/src/styles/plan/plan.d.ts.map +1 -1
- package/dist/src/styles/plan/plan.js +61 -4
- package/dist/src/styles/plan/plan.js.map +1 -1
- package/dist/src/styles/plan/resolve.d.ts +13 -1
- package/dist/src/styles/plan/resolve.d.ts.map +1 -1
- package/dist/src/styles/plan/resolve.js +53 -6
- package/dist/src/styles/plan/resolve.js.map +1 -1
- package/dist/src/styles/slots.d.ts +14 -0
- package/dist/src/styles/slots.d.ts.map +1 -0
- package/dist/src/styles/slots.js +20 -0
- package/dist/src/styles/slots.js.map +1 -0
- package/dist/src/styles/types.d.ts +638 -5
- package/dist/src/styles/types.d.ts.map +1 -1
- package/dist/src/styles/vocabulary.d.ts +3 -2
- package/dist/src/styles/vocabulary.d.ts.map +1 -1
- package/dist/src/styles/vocabulary.js +218 -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 +29 -238
- package/dist/styles.js.map +1 -1
- package/dist/xgmml.js +3 -3
- package/docs/samples/people.json +6 -0
- package/package.json +53 -8
- package/src/common/report.ts +27 -7
- package/src/formats/cx/importer.ts +6 -1
- package/src/formats/cx/styles.ts +144 -9
- package/src/formats/cx2/importer.ts +1 -0
- package/src/formats/cx2/styles.ts +3 -1
- package/src/formats/cys/importer.ts +1 -0
- package/src/formats/cys/styles.ts +27 -5
- package/src/formats/dot/drawing.ts +799 -0
- package/src/formats/dot/importer.ts +120 -35
- package/src/formats/dot/label-places.ts +228 -0
- package/src/formats/dot/record.ts +336 -0
- package/src/formats/dot/styles.ts +1657 -154
- package/src/formats/gexf/dialog-metrics.ts +61 -0
- package/src/formats/gexf/importer.ts +50 -5
- package/src/formats/gexf/preview.ts +217 -0
- package/src/formats/gexf/schema.ts +2 -1
- package/src/formats/gexf/styles.ts +1144 -142
- package/src/formats/gml/importer.ts +291 -76
- package/src/formats/gml/index.ts +1 -1
- package/src/formats/gml/positions.ts +29 -7
- package/src/formats/gml/styles.ts +854 -111
- package/src/formats/graphml/styles-plain.ts +8 -23
- package/src/formats/graphml/styles-yed.ts +821 -159
- package/src/formats/graphml/styles-yfiles3.ts +485 -63
- package/src/formats/graphml/yfiles.ts +19 -6
- package/src/formats/json/dialect.ts +41 -5
- package/src/formats/json/importer.ts +59 -7
- package/src/formats/json/index.ts +1 -0
- package/src/formats/json/positions.ts +22 -5
- package/src/formats/json/styles.ts +2041 -185
- package/src/formats/pajek/draw.ts +458 -0
- package/src/formats/pajek/exporter.ts +81 -49
- package/src/formats/pajek/importer.ts +278 -103
- package/src/formats/pajek/index.ts +1 -0
- package/src/formats/pajek/styles.ts +1382 -133
- package/src/formats/pajek/syntax.ts +27 -2
- package/src/formats/xgmml/emit.ts +73 -5
- package/src/formats/xgmml/styles.ts +331 -71
- package/src/index.ts +94 -0
- package/src/positions/convert.ts +12 -1
- package/src/positions/extract.ts +55 -1
- package/src/positions/index.ts +1 -0
- package/src/positions/types.ts +60 -0
- package/src/registry.ts +326 -1
- package/src/sources/builtins.ts +63 -0
- package/src/sources/codes.ts +235 -0
- package/src/sources/context.ts +894 -0
- package/src/sources/credentials.ts +409 -0
- package/src/sources/cypher/descriptor.ts +131 -0
- package/src/sources/cypher/flatten.ts +323 -0
- package/src/sources/cypher/index.ts +628 -0
- package/src/sources/cypher/params.ts +41 -0
- package/src/sources/cypher/profiles.ts +78 -0
- package/src/sources/cypher/query-builder.ts +327 -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 +80 -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 +32 -0
- package/src/sources/registry.ts +325 -0
- package/src/sources/rest/descriptor.ts +79 -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 +776 -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 +209 -0
- package/src/sources/sparql/descriptor.ts +67 -0
- package/src/sources/sparql/index.ts +356 -0
- package/src/sources/sparql/ntriples.ts +219 -0
- package/src/sources/sparql/params.ts +28 -0
- package/src/sources/sparql/query.ts +162 -0
- package/src/sources/testing.ts +210 -0
- package/src/sources/types.ts +776 -0
- package/src/styles/annotations.ts +201 -27
- package/src/styles/canon/bends.ts +137 -0
- package/src/styles/canon/color-tables.ts +10 -4
- package/src/styles/canon/color.ts +105 -3
- package/src/styles/canon/enums.ts +99 -8
- package/src/styles/canon/graphviz.ts +71 -10
- package/src/styles/canon/number.ts +19 -0
- package/src/styles/canon/text.ts +187 -16
- package/src/styles/codes.ts +2 -0
- package/src/styles/cyjs/cascade.ts +1193 -38
- package/src/styles/cyjs/defaults-table.ts +5 -0
- package/src/styles/cyjs/emit.ts +247 -16
- package/src/styles/cyjs/face.ts +372 -0
- package/src/styles/cyjs/mappers.ts +498 -28
- package/src/styles/cyjs/routes.ts +432 -0
- package/src/styles/cytoscape/charts.ts +684 -0
- package/src/styles/cytoscape/emit.ts +220 -44
- package/src/styles/cytoscape/lexicon.ts +459 -80
- package/src/styles/cytoscape/mappings.ts +108 -0
- package/src/styles/cytoscape/resolve.ts +763 -23
- package/src/styles/cytoscape/translate.ts +11 -11
- package/src/styles/defaults.ts +436 -38
- package/src/styles/index.ts +5 -0
- package/src/styles/internal.ts +1 -0
- package/src/styles/io/block.ts +10 -0
- package/src/styles/io/generic.ts +79 -23
- package/src/styles/io/round-trip.ts +202 -0
- package/src/styles/io/writer.ts +14 -4
- package/src/styles/notes.ts +1 -0
- package/src/styles/plan/features.ts +23 -2
- package/src/styles/plan/index.ts +1 -1
- package/src/styles/plan/plan.ts +69 -5
- package/src/styles/plan/resolve.ts +61 -6
- package/src/styles/slots.ts +25 -0
- package/src/styles/types.ts +658 -4
- package/src/styles/vocabulary.ts +226 -3
- package/src/types.ts +19 -5
- package/dist/chunks/block-DiGq58c3.js.map +0 -1
- package/dist/chunks/choose--jM0yYCo.js +0 -57
- package/dist/chunks/choose--jM0yYCo.js.map +0 -1
- package/dist/chunks/convert-BcQ8_jMo.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/exporter-CrDWIyiq.js.map +0 -1
- package/dist/chunks/format-BpQBx8MZ.js.map +0 -1
- package/dist/chunks/generic-Dq1ntt9q.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/importer-iFYPEKaJ.js.map +0 -1
- package/dist/chunks/importer-yh_aBCU6.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 +0 -690
- package/dist/chunks/styles-D3fRphrO.js.map +0 -1
- package/dist/chunks/styles-yed-BF5x3_Y5.js +0 -842
- package/dist/chunks/styles-yed-BF5x3_Y5.js.map +0 -1
- package/dist/chunks/writer-DMKvthQE.js +0 -448
- package/dist/chunks/writer-DMKvthQE.js.map +0 -1
|
@@ -23,7 +23,7 @@ import type {
|
|
|
23
23
|
StyleValue,
|
|
24
24
|
} from "../types.js";
|
|
25
25
|
import { STYLE_PROPERTIES } from "../vocabulary.js";
|
|
26
|
-
import {
|
|
26
|
+
import { JAVA_MONO, JAVA_SANS, JAVA_SERIF, javaFamily, vpStep } from "./lexicon.js";
|
|
27
27
|
import {
|
|
28
28
|
type CytoscapeContinuousPoint,
|
|
29
29
|
type CytoscapeMapping,
|
|
@@ -130,6 +130,31 @@ function enumOut(
|
|
|
130
130
|
};
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
+
/** Where a node's border sits: Cytoscape's own place for it is inside the node's size, which it always draws. */
|
|
134
|
+
const BORDER_POSITION = "borderPosition";
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* What Cytoscape always draws and no file can change, per target: where a border sits, how far its zigzag and
|
|
138
|
+
* sine-wave strokes swing and how often they repeat (`ding-presentation-impl` `ZigzagStroke`, `SineWaveStroke`), and
|
|
139
|
+
* a label's box round its words alone, its lines one font tall. Nothing is written for them, and any other value is
|
|
140
|
+
* drawn as Cytoscape's.
|
|
141
|
+
*/
|
|
142
|
+
const FIXED: Readonly<Record<"node" | "edge", ReadonlyMap<string, string | number>>> = {
|
|
143
|
+
node: new Map<string, string | number>([
|
|
144
|
+
[BORDER_POSITION, "inside"],
|
|
145
|
+
["borderWaveAmplitude", 10],
|
|
146
|
+
["borderWavePeriod", 20],
|
|
147
|
+
["labelPadding", 0],
|
|
148
|
+
["labelLineHeight", 1],
|
|
149
|
+
]),
|
|
150
|
+
edge: new Map<string, string | number>([
|
|
151
|
+
["waveAmplitude", 10],
|
|
152
|
+
["wavePeriod", 20],
|
|
153
|
+
["labelPadding", 0],
|
|
154
|
+
["labelLineHeight", 1],
|
|
155
|
+
]),
|
|
156
|
+
};
|
|
157
|
+
|
|
133
158
|
const DESKTOP_SHAPES = {
|
|
134
159
|
ellipse: "ELLIPSE",
|
|
135
160
|
rectangle: "RECTANGLE",
|
|
@@ -171,7 +196,6 @@ const NEAR_LINES = { "dash-dot": "dashed", "long-dash": "dashed", zigzag: "solid
|
|
|
171
196
|
const DESKTOP_ARROWS = {
|
|
172
197
|
none: "NONE",
|
|
173
198
|
triangle: "DELTA",
|
|
174
|
-
vee: "ARROW",
|
|
175
199
|
tee: "T",
|
|
176
200
|
diamond: "DIAMOND",
|
|
177
201
|
circle: "CIRCLE",
|
|
@@ -180,6 +204,8 @@ const DESKTOP_ARROWS = {
|
|
|
180
204
|
"diamond-open": "OPEN_DIAMOND",
|
|
181
205
|
"circle-open": "OPEN_CIRCLE",
|
|
182
206
|
half: "HALF_TOP",
|
|
207
|
+
"other:cross-delta": "CROSS_DELTA",
|
|
208
|
+
"other:cross-open-delta": "CROSS_OPEN_DELTA",
|
|
183
209
|
};
|
|
184
210
|
const CX2_ARROWS = {
|
|
185
211
|
none: "none",
|
|
@@ -193,11 +219,16 @@ const CX2_ARROWS = {
|
|
|
193
219
|
"diamond-open": "open-diamond",
|
|
194
220
|
"circle-open": "open-circle",
|
|
195
221
|
half: "half-top",
|
|
222
|
+
// as Cytoscape 3.10.5 writes CROSS_DELTA and CROSS_OPEN_DELTA in CX2
|
|
223
|
+
"other:cross-delta": "triangle-cross",
|
|
224
|
+
"other:cross-open-delta": "cross_open_delta",
|
|
196
225
|
};
|
|
197
226
|
const NEAR_ARROWS = { crow: "vee", inverted: "triangle" };
|
|
227
|
+
// desktop has no open vee: its ARROW, the nearest, is drawn as a filled delta and read back as one
|
|
228
|
+
const DESKTOP_NEAR_ARROWS = { crow: "ARROW", inverted: "DELTA", vee: "ARROW" };
|
|
198
229
|
|
|
199
230
|
/** The Cytoscape arrow names no canonical arrow names, which Cytoscape's readers keep as `other:` values. */
|
|
200
|
-
const CY_OTHER_ARROWS: ReadonlySet<string> = new Set(["open-square", "open-half-circle", "half-circle"]);
|
|
231
|
+
const CY_OTHER_ARROWS: ReadonlySet<string> = new Set(["open-square", "open-half-circle", "half-circle", "half-bottom"]);
|
|
201
232
|
/** The Cytoscape line types no canonical line style names. */
|
|
202
233
|
const CY_OTHER_LINES: ReadonlySet<string> = new Set([
|
|
203
234
|
"backward-slash",
|
|
@@ -209,32 +240,62 @@ const CY_OTHER_LINES: ReadonlySet<string> = new Set([
|
|
|
209
240
|
/** The Cytoscape line types a border can take that no canonical border style names. */
|
|
210
241
|
const CY_OTHER_BORDERS: ReadonlySet<string> = new Set([...CY_OTHER_LINES, "zigzag", "sinewave"]);
|
|
211
242
|
|
|
212
|
-
/**
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
"
|
|
243
|
+
/**
|
|
244
|
+
* A label position as the point of the node and the point of the label's box pinned to it, in desktop's anchor
|
|
245
|
+
* letters: beside the node, the label's opposite point; inside it, the same point.
|
|
246
|
+
*/
|
|
247
|
+
const POSITION_ANCHORS: Readonly<Record<string, readonly [node: string, label: string]>> = {
|
|
248
|
+
center: ["C", "C"],
|
|
249
|
+
top: ["N", "S"],
|
|
250
|
+
bottom: ["S", "N"],
|
|
251
|
+
left: ["W", "E"],
|
|
252
|
+
right: ["E", "W"],
|
|
253
|
+
"top-left": ["NW", "SE"],
|
|
254
|
+
"top-right": ["NE", "SW"],
|
|
255
|
+
"bottom-left": ["SW", "NE"],
|
|
256
|
+
"bottom-right": ["SE", "NW"],
|
|
257
|
+
"inside-top": ["N", "N"],
|
|
258
|
+
"inside-bottom": ["S", "S"],
|
|
259
|
+
"inside-left": ["W", "W"],
|
|
260
|
+
"inside-right": ["E", "E"],
|
|
261
|
+
"inside-top-left": ["NW", "NW"],
|
|
262
|
+
"inside-top-right": ["NE", "NE"],
|
|
263
|
+
"inside-bottom-left": ["SW", "SW"],
|
|
264
|
+
"inside-bottom-right": ["SE", "SE"],
|
|
223
265
|
};
|
|
224
|
-
const
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
266
|
+
const DESKTOP_POSITIONS: Readonly<Record<string, string>> = Object.fromEntries(
|
|
267
|
+
Object.entries(POSITION_ANCHORS).map(([k, [node, label]]) => [k, `${node},${label},c,0.00,0.00`]),
|
|
268
|
+
);
|
|
269
|
+
/** A desktop anchor letter as CX2's horizontal and vertical words. */
|
|
270
|
+
const CX2_WORDS: Readonly<Record<string, readonly [string, string]>> = {
|
|
271
|
+
C: ["center", "center"],
|
|
272
|
+
N: ["center", "top"],
|
|
273
|
+
S: ["center", "bottom"],
|
|
274
|
+
W: ["left", "center"],
|
|
275
|
+
E: ["right", "center"],
|
|
276
|
+
NW: ["left", "top"],
|
|
277
|
+
NE: ["right", "top"],
|
|
278
|
+
SW: ["left", "bottom"],
|
|
279
|
+
SE: ["right", "bottom"],
|
|
234
280
|
};
|
|
235
281
|
|
|
236
282
|
const desktopNumber: Write = String;
|
|
237
283
|
const cx2Number: Write = (v) => v;
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* A writer for a visual property Cytoscape holds as a whole number (a font size): the value is written as it is, and
|
|
287
|
+
* a fraction is noted, since Cytoscape draws it rounded.
|
|
288
|
+
* @param write - the dialect's number writer
|
|
289
|
+
* @returns the writer
|
|
290
|
+
*/
|
|
291
|
+
function whole(write: Write): Write {
|
|
292
|
+
return (v, approx) => {
|
|
293
|
+
if (typeof v === "number" && !Number.isInteger(v)) {
|
|
294
|
+
approx();
|
|
295
|
+
}
|
|
296
|
+
return write(v, approx);
|
|
297
|
+
};
|
|
298
|
+
}
|
|
238
299
|
const textOut: Write = String;
|
|
239
300
|
const desktopBool: Write = (v) => String(v === true);
|
|
240
301
|
const opacity255: Write = (v, approx) => {
|
|
@@ -252,6 +313,7 @@ const WRITERS: Readonly<Record<CytoscapeDialect, Readonly<Record<StyleTarget, Re
|
|
|
252
313
|
["fill", { vp: "NODE_FILL_COLOR", write: colorOut }],
|
|
253
314
|
["fillOpacity", { vp: "NODE_TRANSPARENCY", write: opacity255 }],
|
|
254
315
|
["borderColor", { vp: "NODE_BORDER_PAINT", write: colorOut }],
|
|
316
|
+
["borderOpacity", { vp: "NODE_BORDER_TRANSPARENCY", write: opacity255 }],
|
|
255
317
|
["borderWidth", { vp: "NODE_BORDER_WIDTH", write: desktopNumber }],
|
|
256
318
|
[
|
|
257
319
|
"borderStyle",
|
|
@@ -265,8 +327,10 @@ const WRITERS: Readonly<Record<CytoscapeDialect, Readonly<Record<StyleTarget, Re
|
|
|
265
327
|
["height", { vp: "NODE_HEIGHT", write: desktopNumber }],
|
|
266
328
|
["label", { vp: "NODE_LABEL", write: textOut }],
|
|
267
329
|
["labelColor", { vp: "NODE_LABEL_COLOR", write: colorOut }],
|
|
268
|
-
["labelSize", { vp: "NODE_LABEL_FONT_SIZE", write: desktopNumber }],
|
|
330
|
+
["labelSize", { vp: "NODE_LABEL_FONT_SIZE", write: whole(desktopNumber) }],
|
|
331
|
+
["labelWrapWidth", { vp: "NODE_LABEL_WIDTH", write: desktopNumber }],
|
|
269
332
|
["labelPosition", { vp: "NODE_LABEL_POSITION", write: enumOut(DESKTOP_POSITIONS, {}, false) }],
|
|
333
|
+
["labelRotation", { vp: "NODE_LABEL_ROTATION", write: desktopNumber }],
|
|
270
334
|
["tooltip", { vp: "NODE_TOOLTIP", write: textOut }],
|
|
271
335
|
["visible", { vp: "NODE_VISIBLE", write: desktopBool }],
|
|
272
336
|
]),
|
|
@@ -285,14 +349,14 @@ const WRITERS: Readonly<Record<CytoscapeDialect, Readonly<Record<StyleTarget, Re
|
|
|
285
349
|
"sourceArrow",
|
|
286
350
|
{
|
|
287
351
|
vp: "EDGE_SOURCE_ARROW_SHAPE",
|
|
288
|
-
write: enumOut(DESKTOP_ARROWS,
|
|
352
|
+
write: enumOut(DESKTOP_ARROWS, DESKTOP_NEAR_ARROWS, true, CY_OTHER_ARROWS),
|
|
289
353
|
},
|
|
290
354
|
],
|
|
291
355
|
[
|
|
292
356
|
"targetArrow",
|
|
293
357
|
{
|
|
294
358
|
vp: "EDGE_TARGET_ARROW_SHAPE",
|
|
295
|
-
write: enumOut(DESKTOP_ARROWS,
|
|
359
|
+
write: enumOut(DESKTOP_ARROWS, DESKTOP_NEAR_ARROWS, true, CY_OTHER_ARROWS),
|
|
296
360
|
},
|
|
297
361
|
],
|
|
298
362
|
["sourceArrowColor", { vp: "EDGE_SOURCE_ARROW_UNSELECTED_PAINT", write: colorOut }],
|
|
@@ -300,7 +364,7 @@ const WRITERS: Readonly<Record<CytoscapeDialect, Readonly<Record<StyleTarget, Re
|
|
|
300
364
|
["curved", { vp: "EDGE_CURVED", write: desktopBool }],
|
|
301
365
|
["label", { vp: "EDGE_LABEL", write: textOut }],
|
|
302
366
|
["labelColor", { vp: "EDGE_LABEL_COLOR", write: colorOut }],
|
|
303
|
-
["labelSize", { vp: "EDGE_LABEL_FONT_SIZE", write: desktopNumber }],
|
|
367
|
+
["labelSize", { vp: "EDGE_LABEL_FONT_SIZE", write: whole(desktopNumber) }],
|
|
304
368
|
["tooltip", { vp: "EDGE_TOOLTIP", write: textOut }],
|
|
305
369
|
["visible", { vp: "EDGE_VISIBLE", write: desktopBool }],
|
|
306
370
|
]),
|
|
@@ -310,6 +374,7 @@ const WRITERS: Readonly<Record<CytoscapeDialect, Readonly<Record<StyleTarget, Re
|
|
|
310
374
|
["fill", { vp: "NODE_BACKGROUND_COLOR", write: colorOut }],
|
|
311
375
|
["fillOpacity", { vp: "NODE_BACKGROUND_OPACITY", write: cx2Number }],
|
|
312
376
|
["borderColor", { vp: "NODE_BORDER_COLOR", write: colorOut }],
|
|
377
|
+
["borderOpacity", { vp: "NODE_BORDER_OPACITY", write: cx2Number }],
|
|
313
378
|
["borderWidth", { vp: "NODE_BORDER_WIDTH", write: cx2Number }],
|
|
314
379
|
[
|
|
315
380
|
"borderStyle",
|
|
@@ -329,8 +394,10 @@ const WRITERS: Readonly<Record<CytoscapeDialect, Readonly<Record<StyleTarget, Re
|
|
|
329
394
|
["height", { vp: "NODE_HEIGHT", write: cx2Number }],
|
|
330
395
|
["label", { vp: "NODE_LABEL", write: textOut }],
|
|
331
396
|
["labelColor", { vp: "NODE_LABEL_COLOR", write: colorOut }],
|
|
332
|
-
["labelSize", { vp: "NODE_LABEL_FONT_SIZE", write: cx2Number }],
|
|
397
|
+
["labelSize", { vp: "NODE_LABEL_FONT_SIZE", write: whole(cx2Number) }],
|
|
398
|
+
["labelWrapWidth", { vp: "NODE_LABEL_MAX_WIDTH", write: cx2Number }],
|
|
333
399
|
["labelPosition", { vp: "NODE_LABEL_POSITION", write: cx2Position }],
|
|
400
|
+
["labelRotation", { vp: "NODE_LABEL_ROTATION", write: cx2Number }],
|
|
334
401
|
["visible", { vp: "NODE_VISIBILITY", write: (v) => (v === true ? "element" : "none") }],
|
|
335
402
|
]),
|
|
336
403
|
edge: new Map<string, Writer>([
|
|
@@ -363,7 +430,7 @@ const WRITERS: Readonly<Record<CytoscapeDialect, Readonly<Record<StyleTarget, Re
|
|
|
363
430
|
["curved", { vp: "EDGE_CURVED", write: (v) => v === true }],
|
|
364
431
|
["label", { vp: "EDGE_LABEL", write: textOut }],
|
|
365
432
|
["labelColor", { vp: "EDGE_LABEL_COLOR", write: colorOut }],
|
|
366
|
-
["labelSize", { vp: "EDGE_LABEL_FONT_SIZE", write: cx2Number }],
|
|
433
|
+
["labelSize", { vp: "EDGE_LABEL_FONT_SIZE", write: whole(cx2Number) }],
|
|
367
434
|
["visible", { vp: "EDGE_VISIBILITY", write: (v) => (v === true ? "element" : "none") }],
|
|
368
435
|
]),
|
|
369
436
|
},
|
|
@@ -375,10 +442,12 @@ const WRITERS: Readonly<Record<CytoscapeDialect, Readonly<Record<StyleTarget, Re
|
|
|
375
442
|
* @returns the object
|
|
376
443
|
*/
|
|
377
444
|
function cx2Position(v: StyleValue): unknown {
|
|
378
|
-
const [
|
|
445
|
+
const [node, label] = Object.hasOwn(POSITION_ANCHORS, String(v)) ? POSITION_ANCHORS[String(v)] : ["C", "C"];
|
|
446
|
+
const [h, vert] = CX2_WORDS[node];
|
|
447
|
+
const [ha, va] = CX2_WORDS[label];
|
|
379
448
|
return {
|
|
380
|
-
HORIZONTAL_ALIGN:
|
|
381
|
-
VERTICAL_ALIGN:
|
|
449
|
+
HORIZONTAL_ALIGN: ha,
|
|
450
|
+
VERTICAL_ALIGN: va,
|
|
382
451
|
HORIZONTAL_ANCHOR: h,
|
|
383
452
|
VERTICAL_ANCHOR: vert,
|
|
384
453
|
MARGIN_X: 0,
|
|
@@ -390,10 +459,12 @@ function cx2Position(v: StyleValue): unknown {
|
|
|
390
459
|
/** The font properties, written together into one font face. */
|
|
391
460
|
const FONT_PROPS = ["labelFont", "labelWeight", "labelItalic"] as const;
|
|
392
461
|
const FONT_VP: Readonly<Record<StyleTarget, string>> = { node: "NODE_LABEL_FONT_FACE", edge: "EDGE_LABEL_FONT_FACE" };
|
|
462
|
+
// A CSS generic family is written as it is: Java draws a name it does not know in Dialog, and reads it back the same.
|
|
393
463
|
const CSS_TO_JAVA: Readonly<Record<string, string>> = {
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
464
|
+
// the families the reader gives Java's logical fonts
|
|
465
|
+
[JAVA_SANS]: "SansSerif",
|
|
466
|
+
[JAVA_SERIF]: "Serif",
|
|
467
|
+
[JAVA_MONO]: "Monospaced",
|
|
397
468
|
};
|
|
398
469
|
|
|
399
470
|
/**
|
|
@@ -422,11 +493,16 @@ function fontOut(
|
|
|
422
493
|
return { FONT_FAMILY: fam, FONT_STYLE: it ? "italic" : "normal", FONT_WEIGHT: bold ? "bold" : "normal" };
|
|
423
494
|
}
|
|
424
495
|
const first = fam.includes(",") ? fam.split(",")[0].trim() : fam;
|
|
425
|
-
const
|
|
496
|
+
const asWritten = Object.hasOwn(CSS_TO_JAVA, first) ? CSS_TO_JAVA[first] : first;
|
|
497
|
+
const java = Object.hasOwn(CSS_TO_JAVA, fam) ? CSS_TO_JAVA[fam] : asWritten;
|
|
426
498
|
if (fontReadsAs(java) !== fam) {
|
|
427
499
|
approx();
|
|
428
500
|
}
|
|
429
|
-
|
|
501
|
+
// desktop reads the face from the name alone: bold and italic go on it as a Java face suffix, as desktop itself
|
|
502
|
+
// writes them (`SansSerif.bold,bold,12`); the style word after it is not read (`FontVisualProperty`)
|
|
503
|
+
const style = javaFontStyle(bold, it);
|
|
504
|
+
const face = style === "plain" ? java : `${java}.${style}`;
|
|
505
|
+
return `${face},${bold ? "bold" : "plain"},12`;
|
|
430
506
|
}
|
|
431
507
|
|
|
432
508
|
/**
|
|
@@ -449,8 +525,7 @@ function javaFontStyle(bold: boolean, italic: boolean): string {
|
|
|
449
525
|
* @returns the family
|
|
450
526
|
*/
|
|
451
527
|
function fontReadsAs(name: string): string {
|
|
452
|
-
|
|
453
|
-
return JAVA_FONTS.get(family.toLowerCase()) ?? family;
|
|
528
|
+
return javaFamily(name.replace(/\.(?:bold|italic|plain|bolditalic)$/i, ""));
|
|
454
529
|
}
|
|
455
530
|
|
|
456
531
|
/**
|
|
@@ -579,6 +654,25 @@ function targetEmit(
|
|
|
579
654
|
};
|
|
580
655
|
}
|
|
581
656
|
|
|
657
|
+
/** The properties Cytoscape draws one way only, with that way: what is drawn so needs nothing written. */
|
|
658
|
+
const DRAWN_SO: ReadonlyMap<string, StyleValue> = new Map<string, StyleValue>([
|
|
659
|
+
// it measures each word with a space after it when it wraps a label
|
|
660
|
+
["labelWrapTrailingSpace", true],
|
|
661
|
+
// it curves an edge through its bends' midpoints
|
|
662
|
+
["bendCurve", "midpoints"],
|
|
663
|
+
]);
|
|
664
|
+
|
|
665
|
+
/**
|
|
666
|
+
* Whether every element's value of a property is how Cytoscape draws it anyway, so there is nothing to write.
|
|
667
|
+
* @param p - the property
|
|
668
|
+
* @param values - each element's value
|
|
669
|
+
* @returns true when nothing is lost by not writing it
|
|
670
|
+
*/
|
|
671
|
+
function drawnSo(p: string, values: readonly (StyleValue | null)[]): boolean {
|
|
672
|
+
const way = DRAWN_SO.get(p);
|
|
673
|
+
return way !== undefined && values.every((v) => v === null || v === way);
|
|
674
|
+
}
|
|
675
|
+
|
|
582
676
|
/**
|
|
583
677
|
* Emits one target.
|
|
584
678
|
* @param e - the target's emission
|
|
@@ -595,7 +689,15 @@ function emitTarget(
|
|
|
595
689
|
const { target, notes, truth } = e;
|
|
596
690
|
const writers = WRITERS[e.options.dialect][target];
|
|
597
691
|
for (const [p, values] of truth) {
|
|
598
|
-
|
|
692
|
+
const fixed = FIXED[target].get(p);
|
|
693
|
+
if (fixed !== undefined) {
|
|
694
|
+
// Cytoscape draws every border inside its node's size and every wave alike: nothing to write, and any
|
|
695
|
+
// other value is lost
|
|
696
|
+
const other = values.filter((v) => v !== null && v !== fixed).length;
|
|
697
|
+
if (other > 0) {
|
|
698
|
+
notes.add(STYLE_ISSUE.APPROXIMATED, target, p, { count: other });
|
|
699
|
+
}
|
|
700
|
+
} else if (!writers.has(p) && !(FONT_PROPS as readonly string[]).includes(p) && !drawnSo(p, values)) {
|
|
599
701
|
const count = values.filter((v) => v !== null).length;
|
|
600
702
|
notes.add(STYLE_ISSUE.NOT_WRITTEN, target, p, { count: Math.max(count, 1) });
|
|
601
703
|
}
|
|
@@ -701,16 +803,49 @@ function addBypasses(
|
|
|
701
803
|
continue;
|
|
702
804
|
}
|
|
703
805
|
const drawn = resolveRules(modelRules, target, p, e.src);
|
|
806
|
+
const step = drawnStep(model.map.get(p), w.vp, STYLE_PROPERTIES[target].get(p));
|
|
807
|
+
let rounded = 0;
|
|
704
808
|
for (let i = 0; i < e.n; i++) {
|
|
705
809
|
const v = want[i];
|
|
706
810
|
if (v !== null && v !== drawn[i]) {
|
|
707
811
|
bypasses[i] ??= new Map();
|
|
708
812
|
bypasses[i]?.set(w.vp, w.write(v, e.approx(p)));
|
|
813
|
+
} else if (offStep(v, step)) {
|
|
814
|
+
rounded++;
|
|
709
815
|
}
|
|
710
816
|
}
|
|
817
|
+
if (rounded > 0) {
|
|
818
|
+
e.notes.add(STYLE_ISSUE.APPROXIMATED, target, p, { count: rounded });
|
|
819
|
+
}
|
|
711
820
|
}
|
|
712
821
|
}
|
|
713
822
|
|
|
823
|
+
/**
|
|
824
|
+
* The step Cytoscape rounds the values of a written mapping to: a continuous mapping, or a passthrough written as
|
|
825
|
+
* one, on a visual property that holds whole numbers (a font size, a 0..255 transparency) is drawn rounded, unless
|
|
826
|
+
* the mapping already rounds to it. A passthrough written as a table writes its values through the property's writer,
|
|
827
|
+
* which notes them itself.
|
|
828
|
+
* @param m - the mapping written, if any
|
|
829
|
+
* @param vp - the visual property it sets
|
|
830
|
+
* @param kind - the kind of value the property holds
|
|
831
|
+
* @returns the step, or undefined when Cytoscape draws the mapping's values as they are
|
|
832
|
+
*/
|
|
833
|
+
function drawnStep(m: Mapping | undefined, vp: string, kind: string | undefined): number | undefined {
|
|
834
|
+
const ramp = m?.kind === "continuous" && m.step === undefined;
|
|
835
|
+
const passthrough = m?.kind === "passthrough" && PASSTHROUGH_SAFE.has(kind ?? "");
|
|
836
|
+
return ramp || passthrough ? vpStep(vp) : undefined;
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
/**
|
|
840
|
+
* Whether a value is not a multiple of a step, so Cytoscape draws it rounded.
|
|
841
|
+
* @param v - the value
|
|
842
|
+
* @param step - the step, or undefined for none
|
|
843
|
+
* @returns true when the value changes on rounding
|
|
844
|
+
*/
|
|
845
|
+
function offStep(v: StyleValue | null | undefined, step: number | undefined): boolean {
|
|
846
|
+
return step !== undefined && typeof v === "number" && num6(Math.round(v / step) * step) !== v;
|
|
847
|
+
}
|
|
848
|
+
|
|
714
849
|
/**
|
|
715
850
|
* The defaults and mappings of one target: rules over every element, bottom to top. A constant over every element
|
|
716
851
|
* hides everything beneath it; of two mappings of one property only the topmost is kept. Every rule that cannot be
|
|
@@ -802,7 +937,11 @@ function cytoscapeMapping(
|
|
|
802
937
|
return {
|
|
803
938
|
kind: "discrete",
|
|
804
939
|
column,
|
|
805
|
-
type:
|
|
940
|
+
type: keyType(
|
|
941
|
+
e,
|
|
942
|
+
m.by,
|
|
943
|
+
m.table.map(([k]) => k),
|
|
944
|
+
),
|
|
806
945
|
table: m.table.map(([k, v]) => [k, write(v)]),
|
|
807
946
|
};
|
|
808
947
|
}
|
|
@@ -882,7 +1021,16 @@ function passthroughMapping(
|
|
|
882
1021
|
}
|
|
883
1022
|
}
|
|
884
1023
|
const table = Array.from(seen);
|
|
885
|
-
return {
|
|
1024
|
+
return {
|
|
1025
|
+
kind: "discrete",
|
|
1026
|
+
column,
|
|
1027
|
+
type: keyType(
|
|
1028
|
+
e,
|
|
1029
|
+
by,
|
|
1030
|
+
table.map(([k]) => k),
|
|
1031
|
+
),
|
|
1032
|
+
table,
|
|
1033
|
+
};
|
|
886
1034
|
}
|
|
887
1035
|
|
|
888
1036
|
/**
|
|
@@ -917,6 +1065,28 @@ function isScalar(v: unknown): v is Scalar {
|
|
|
917
1065
|
return typeof v === "string" || typeof v === "boolean" || (typeof v === "number" && Number.isFinite(v));
|
|
918
1066
|
}
|
|
919
1067
|
|
|
1068
|
+
/**
|
|
1069
|
+
* The type a discrete mapping's keys are written with: `double` over a column the exporter writes as Double
|
|
1070
|
+
* (Cytoscape compares an Integer key with a Double cell and finds no match), else the keys' own type.
|
|
1071
|
+
* @param e - the target's emission
|
|
1072
|
+
* @param by - the column the mapping reads
|
|
1073
|
+
* @param keys - the keys
|
|
1074
|
+
* @returns the type
|
|
1075
|
+
*/
|
|
1076
|
+
function keyType(e: TargetEmit, by: ColumnRef, keys: readonly unknown[]): string {
|
|
1077
|
+
const type = typeOf(keys);
|
|
1078
|
+
if (type !== "integer") {
|
|
1079
|
+
return type;
|
|
1080
|
+
}
|
|
1081
|
+
if (!("data" in by)) {
|
|
1082
|
+
// a column the exporter adds holds numbers as Double
|
|
1083
|
+
return "double";
|
|
1084
|
+
}
|
|
1085
|
+
const meta = (e.target === "node" ? e.snapshot.nodes : e.snapshot.edges).get(by.data)?.meta;
|
|
1086
|
+
const floating = (meta?.dtype === "f32" || meta?.dtype === "f64") && meta.origin?.type !== "long";
|
|
1087
|
+
return floating ? "double" : type;
|
|
1088
|
+
}
|
|
1089
|
+
|
|
920
1090
|
/**
|
|
921
1091
|
* Cytoscape's attribute type of a set of values: `integer`, `double`, `boolean` or `string`.
|
|
922
1092
|
* @param values - the values
|
|
@@ -1221,7 +1391,13 @@ function mappingXml(m: CytoscapeMapping): string[] {
|
|
|
1221
1391
|
* @returns the properties
|
|
1222
1392
|
*/
|
|
1223
1393
|
export function cytoscapeWritableProperties(target: StyleTarget, dialect: CytoscapeDialect): string[] {
|
|
1224
|
-
|
|
1394
|
+
// a label wrapped as Cytoscape wraps it needs nothing written: emitTarget notes any other value
|
|
1395
|
+
return [
|
|
1396
|
+
...WRITERS[dialect][target].keys(),
|
|
1397
|
+
...FONT_PROPS,
|
|
1398
|
+
...FIXED[target].keys(),
|
|
1399
|
+
...(target === "node" ? ["labelWrapTrailingSpace"] : ["bendCurve"]),
|
|
1400
|
+
];
|
|
1225
1401
|
}
|
|
1226
1402
|
|
|
1227
1403
|
/**
|