@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
|
@@ -14,10 +14,12 @@
|
|
|
14
14
|
* - a mapper that fails for an element (no field, a value the property refuses, a non-number for `mapData`) resets the
|
|
15
15
|
* property to its Cytoscape.js default, whatever the rules beneath say.
|
|
16
16
|
*/
|
|
17
|
+
import { canonColor } from "../canon/color.js";
|
|
17
18
|
import { CSS_COLORS } from "../canon/color-tables.js";
|
|
18
19
|
import { canonEnum } from "../canon/enums.js";
|
|
19
20
|
import { num6 } from "../canon/number.js";
|
|
20
21
|
import { STYLE_ISSUE } from "../codes.js";
|
|
22
|
+
import { CYJS_FACE_PROPERTIES } from "./face.js";
|
|
21
23
|
const NODE_SHAPES = [
|
|
22
24
|
"rectangle",
|
|
23
25
|
"roundrectangle",
|
|
@@ -88,7 +90,8 @@ const FONT_WEIGHTS = [
|
|
|
88
90
|
800,
|
|
89
91
|
900,
|
|
90
92
|
];
|
|
91
|
-
|
|
93
|
+
/** Cytoscape.js's curve styles. */
|
|
94
|
+
export const CYJS_CURVE_STYLES = [
|
|
92
95
|
"bezier",
|
|
93
96
|
"unbundled-bezier",
|
|
94
97
|
"haystack",
|
|
@@ -119,18 +122,300 @@ const LABEL = [
|
|
|
119
122
|
["visibility", { property: "_visibility", type: "enum", enums: ["hidden", "visible"] }],
|
|
120
123
|
["display", { property: "_display", type: "enum", enums: ["element", "none"] }],
|
|
121
124
|
["opacity", { property: "opacity", type: "zeroOne" }],
|
|
125
|
+
["text-transform", { property: "_transform", type: "enum", enums: ["none", "uppercase", "lowercase"] }],
|
|
126
|
+
["text-wrap", { property: "_wrap", type: "enum", enums: ["none", "wrap", "ellipsis"] }],
|
|
127
|
+
["text-overflow-wrap", { property: "_overflowWrap", type: "enum", enums: ["whitespace", "anywhere"] }],
|
|
128
|
+
// how the lines line up; `auto` follows the horizontal alignment (`combineLabelText`)
|
|
129
|
+
["text-justification", { property: "_justification", type: "enum", enums: ["auto", "left", "center", "right"] }],
|
|
130
|
+
// a width only `text-wrap: wrap` wraps at, so it is combined with the wrap afterward (`combineParts`)
|
|
131
|
+
["text-max-width", { property: "_maxWidth", type: "size" }],
|
|
132
|
+
// the outline and the background box draw only with a width and an opacity (`combineLabelDress`)
|
|
133
|
+
["text-outline-color", { property: "_outlineColor", type: "color" }],
|
|
134
|
+
["text-outline-width", { property: "_outlineWidth", type: "size" }],
|
|
135
|
+
["text-outline-opacity", { property: "_outlineOpacity", type: "zeroOne" }],
|
|
136
|
+
["text-background-color", { property: "_backgroundColor", type: "color" }],
|
|
137
|
+
["text-background-opacity", { property: "_backgroundOpacity", type: "zeroOne" }],
|
|
138
|
+
["text-background-padding", { property: "_backgroundPadding", type: "size" }],
|
|
139
|
+
[
|
|
140
|
+
"text-background-shape",
|
|
141
|
+
{
|
|
142
|
+
property: "_backgroundShape",
|
|
143
|
+
type: "enum",
|
|
144
|
+
enums: ["rectangle", "round-rectangle", "roundrectangle", "circle"],
|
|
145
|
+
},
|
|
146
|
+
],
|
|
147
|
+
["text-rotation", { property: "_rotation", type: "text" }],
|
|
148
|
+
// the words' own opacity, drawn times the element's (`combineLabelOpacity`)
|
|
149
|
+
["text-opacity", { property: "_textOpacity", type: "zeroOne" }],
|
|
150
|
+
// the label moved right and down by this many pixels from where its alignment puts it, a node's and an edge's
|
|
151
|
+
["text-margin-x", { property: "labelOffsetX", type: "signedSize" }],
|
|
152
|
+
["text-margin-y", { property: "labelOffsetY", type: "signedSize" }],
|
|
153
|
+
// the line round the label's box draws only with a width and an opacity above 0 (`combineLabelDress`)
|
|
154
|
+
["text-border-color", { property: "_textBorderColor", type: "color" }],
|
|
155
|
+
["text-border-width", { property: "_textBorderWidth", type: "size" }],
|
|
156
|
+
["text-border-opacity", { property: "_textBorderOpacity", type: "zeroOne" }],
|
|
157
|
+
[
|
|
158
|
+
"text-border-style",
|
|
159
|
+
{ property: "_textBorderStyle", type: "enum", enums: ["solid", "dotted", "dashed", "double"] },
|
|
160
|
+
],
|
|
122
161
|
];
|
|
162
|
+
/** Cytoscape.js's `background-gradient-direction` values. */
|
|
163
|
+
const GRADIENT_DIRECTIONS = [
|
|
164
|
+
"to-bottom",
|
|
165
|
+
"to-top",
|
|
166
|
+
"to-left",
|
|
167
|
+
"to-right",
|
|
168
|
+
"to-bottom-right",
|
|
169
|
+
"to-bottom-left",
|
|
170
|
+
"to-top-right",
|
|
171
|
+
"to-top-left",
|
|
172
|
+
"to-right-bottom",
|
|
173
|
+
"to-left-bottom",
|
|
174
|
+
"to-right-top",
|
|
175
|
+
"to-left-top",
|
|
176
|
+
];
|
|
177
|
+
/**
|
|
178
|
+
* The pixels of one `em`: Cytoscape.js reads it as its container's font size (`getEmSizeInPixels`, cytoscape.js
|
|
179
|
+
* 3.34.3 dist/cytoscape.cjs.js line 16896), 16 in a page that leaves the font size at the browser's default.
|
|
180
|
+
*/
|
|
181
|
+
const EM_PX = 16;
|
|
182
|
+
/**
|
|
183
|
+
* Cytoscape.js's `shape-polygon-points` (`x y` pairs, y down, commas or spaces between) as neutral `shapePoints`.
|
|
184
|
+
* @param text - the points
|
|
185
|
+
* @returns `x,y` pairs with y up, or null when they are not pairs of numbers
|
|
186
|
+
*/
|
|
187
|
+
function cyjsPointsToNeutral(text) {
|
|
188
|
+
const n = text
|
|
189
|
+
.trim()
|
|
190
|
+
.split(/[\s,]+/)
|
|
191
|
+
.map(Number);
|
|
192
|
+
if (n.length < 6 || n.length % 2 !== 0 || !n.every((v) => Number.isFinite(v))) {
|
|
193
|
+
return null;
|
|
194
|
+
}
|
|
195
|
+
const pairs = [];
|
|
196
|
+
for (let i = 0; i < n.length; i += 2) {
|
|
197
|
+
pairs.push(`${String(round6(n[i]))},${String(round6(-n[i + 1]))}`);
|
|
198
|
+
}
|
|
199
|
+
return pairs.join(" ");
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Neutral `shapePoints` as Cytoscape.js's `shape-polygon-points`.
|
|
203
|
+
* @param points - `x,y` pairs with y up
|
|
204
|
+
* @returns `x y` pairs with y down, or null when they are not pairs of numbers
|
|
205
|
+
*/
|
|
206
|
+
export function neutralPointsToCyjs(points) {
|
|
207
|
+
const n = points
|
|
208
|
+
.trim()
|
|
209
|
+
.split(/[\s,]+/)
|
|
210
|
+
.map(Number);
|
|
211
|
+
if (n.length < 6 || n.length % 2 !== 0 || !n.every((v) => Number.isFinite(v))) {
|
|
212
|
+
return null;
|
|
213
|
+
}
|
|
214
|
+
const pairs = [];
|
|
215
|
+
for (let i = 0; i < n.length; i += 2) {
|
|
216
|
+
pairs.push(`${String(round6(n[i]))} ${String(round6(-n[i + 1]))}`);
|
|
217
|
+
}
|
|
218
|
+
return pairs.join(" ");
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* A coordinate to six decimals, with no negative zero.
|
|
222
|
+
* @param v - the coordinate
|
|
223
|
+
* @returns it rounded
|
|
224
|
+
*/
|
|
225
|
+
const round6 = (v) => Math.round(v * 1e6) / 1e6 + 0;
|
|
226
|
+
/**
|
|
227
|
+
* Cytoscape.js's corners of a heptagon fitted to its box (`generateUnitNgonPointsFitToSquare(7, 0)`): a regular
|
|
228
|
+
* heptagon with a corner up, stretched until it fills the box both ways.
|
|
229
|
+
* @returns the corners as `x,y` fractions of the half width and half height, y up
|
|
230
|
+
*/
|
|
231
|
+
function fittedHeptagon() {
|
|
232
|
+
const corners = Array.from({ length: 7 }, (_, i) => {
|
|
233
|
+
const angle = Math.PI / 2 + (2 * Math.PI * i) / 7;
|
|
234
|
+
return [Math.cos(angle), Math.sin(angle)];
|
|
235
|
+
});
|
|
236
|
+
const [x0, x1] = [Math.min(...corners.map(([x]) => x)), Math.max(...corners.map(([x]) => x))];
|
|
237
|
+
const [y0, y1] = [Math.min(...corners.map(([, y]) => y)), Math.max(...corners.map(([, y]) => y))];
|
|
238
|
+
return corners
|
|
239
|
+
.map(([x, y]) => `${round6((2 * (x - x0)) / (x1 - x0) - 1)},${round6((2 * (y - y0)) / (y1 - y0) - 1)}`)
|
|
240
|
+
.join(" ");
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* The Cytoscape.js node shapes no neutral shape names, with the corners Cytoscape.js draws each at (cytoscape.js
|
|
244
|
+
* 3.34.3 dist/cytoscape.cjs.js lines 27976-28008); the round ones are `other:round-polygon` over the same corners.
|
|
245
|
+
*/
|
|
246
|
+
const CYJS_POLYGON_SHAPES = new Map([
|
|
247
|
+
["heptagon", fittedHeptagon()],
|
|
248
|
+
["round-heptagon", fittedHeptagon()],
|
|
249
|
+
["tag", "-1,-1 0.25,-1 1,0 0.25,1 -1,1"],
|
|
250
|
+
["round-tag", "-1,-1 0.25,-1 1,0 0.25,1 -1,1"],
|
|
251
|
+
]);
|
|
252
|
+
/**
|
|
253
|
+
* Cytoscape.js's polygons drawn with rounded corners (`corner-radius`, by default a tenth of the shorter side),
|
|
254
|
+
* kept as their own `other:` shapes rather than read as their sharp twins.
|
|
255
|
+
*/
|
|
256
|
+
const CYJS_ROUND_SHAPES = new Set([
|
|
257
|
+
"round-triangle",
|
|
258
|
+
"round-diamond",
|
|
259
|
+
"round-pentagon",
|
|
260
|
+
"round-hexagon",
|
|
261
|
+
"round-octagon",
|
|
262
|
+
]);
|
|
263
|
+
/**
|
|
264
|
+
* Draws every Cytoscape.js shape no neutral shape names (`other:heptagon`, `other:tag`) as the polygon Cytoscape.js
|
|
265
|
+
* builds for it: `polygon` with its corners in `shapePoints`.
|
|
266
|
+
* @param values - node values (per element, or a rule's constants), changed in place
|
|
267
|
+
*/
|
|
268
|
+
export function cyjsPolygonShapes(values) {
|
|
269
|
+
const { shape } = values;
|
|
270
|
+
const pointsOf = (v) => typeof v === "string" && v.startsWith("other:") ? CYJS_POLYGON_SHAPES.get(v.slice("other:".length)) : undefined;
|
|
271
|
+
if (Array.isArray(shape)) {
|
|
272
|
+
const col = shape;
|
|
273
|
+
if (!col.some((v) => pointsOf(v) !== undefined)) {
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
const points = Array.isArray(values.shapePoints)
|
|
277
|
+
? [...values.shapePoints]
|
|
278
|
+
: new Array(col.length).fill(null);
|
|
279
|
+
values.shape = col.map((v, i) => {
|
|
280
|
+
const p = pointsOf(v);
|
|
281
|
+
if (p === undefined) {
|
|
282
|
+
return v;
|
|
283
|
+
}
|
|
284
|
+
points[i] = p;
|
|
285
|
+
return polygonOf(v);
|
|
286
|
+
});
|
|
287
|
+
values.shapePoints = points;
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
const p = pointsOf(shape);
|
|
291
|
+
if (p !== undefined) {
|
|
292
|
+
values.shape = polygonOf(shape);
|
|
293
|
+
values.shapePoints = p;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* The polygon a Cytoscape.js polygon shape is drawn as: `other:round-polygon` for its round ones.
|
|
298
|
+
* @param shape - the shape, `other:<Cytoscape.js name>`
|
|
299
|
+
* @returns the neutral shape
|
|
300
|
+
*/
|
|
301
|
+
function polygonOf(shape) {
|
|
302
|
+
return typeof shape === "string" && shape.startsWith("other:round-") ? "other:round-polygon" : "polygon";
|
|
303
|
+
}
|
|
304
|
+
/** How Cytoscape.js's `line-fill` paints a line, as the neutral gradient kind. */
|
|
305
|
+
const GRADIENT_KINDS = new Map([
|
|
306
|
+
["solid", "none"],
|
|
307
|
+
["linear-gradient", "linear"],
|
|
308
|
+
["radial-gradient", "radial"],
|
|
309
|
+
]);
|
|
310
|
+
/**
|
|
311
|
+
* A text split at its runs of whitespace that are not inside parentheses: `rgb(0, 0, 0) red` is two words. A run is
|
|
312
|
+
* inside when the next parenthesis after it closes one (as `/\s+(?![^(]*\))/` splits, in one pass).
|
|
313
|
+
* @param text - the text
|
|
314
|
+
* @returns the words
|
|
315
|
+
*/
|
|
316
|
+
function wordsOutsideParens(text) {
|
|
317
|
+
// whether the next parenthesis at or after each offset is a `)`
|
|
318
|
+
const closes = new Array(text.length + 1).fill(false);
|
|
319
|
+
for (let i = text.length - 1; i >= 0; i--) {
|
|
320
|
+
closes[i] = text[i] === ")" || (text[i] !== "(" && closes[i + 1]);
|
|
321
|
+
}
|
|
322
|
+
const words = [];
|
|
323
|
+
let start = 0;
|
|
324
|
+
let i = 0;
|
|
325
|
+
while (i < text.length) {
|
|
326
|
+
if (!/\s/.test(text[i])) {
|
|
327
|
+
i++;
|
|
328
|
+
continue;
|
|
329
|
+
}
|
|
330
|
+
let end = i + 1;
|
|
331
|
+
while (end < text.length && /\s/.test(text[end])) {
|
|
332
|
+
end++;
|
|
333
|
+
}
|
|
334
|
+
if (!closes[end]) {
|
|
335
|
+
words.push(text.slice(start, i));
|
|
336
|
+
start = end;
|
|
337
|
+
}
|
|
338
|
+
i = end;
|
|
339
|
+
}
|
|
340
|
+
words.push(text.slice(start));
|
|
341
|
+
return words;
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Cytoscape.js's `line-gradient-stop-colors` (colors separated by spaces) as `#rrggbb` colors separated by spaces.
|
|
345
|
+
* @param text - the value
|
|
346
|
+
* @param site - where it was read
|
|
347
|
+
* @returns the colors, or undefined when one does not parse (noted)
|
|
348
|
+
*/
|
|
349
|
+
function gradientColors(text, site) {
|
|
350
|
+
const hexes = [];
|
|
351
|
+
for (const token of wordsOutsideParens(text.trim())) {
|
|
352
|
+
const c = token === "" ? null : canonColor(token, "css", site);
|
|
353
|
+
if (c === null) {
|
|
354
|
+
return undefined;
|
|
355
|
+
}
|
|
356
|
+
hexes.push(c.color);
|
|
357
|
+
}
|
|
358
|
+
return hexes.join(" ");
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Cytoscape.js's gradient stop colors (colors separated by spaces) as `#rrggbb` colors.
|
|
362
|
+
* @param text - the value
|
|
363
|
+
* @param site - where it was read
|
|
364
|
+
* @returns the colors, none when one does not parse (noted)
|
|
365
|
+
*/
|
|
366
|
+
export function gradientStopColors(text, site) {
|
|
367
|
+
return gradientColors(text, site)?.split(" ") ?? [];
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Cytoscape.js's `line-gradient-stop-positions` (percentages or fractions separated by spaces) as fractions.
|
|
371
|
+
* @param text - the value
|
|
372
|
+
* @returns the fractions separated by spaces, or undefined when one is not a number
|
|
373
|
+
*/
|
|
374
|
+
export function gradientStops(text) {
|
|
375
|
+
const stops = text
|
|
376
|
+
.trim()
|
|
377
|
+
.split(/\s+/)
|
|
378
|
+
.map((t) => (t.endsWith("%") ? Number.parseFloat(t) / 100 : Number.parseFloat(t)));
|
|
379
|
+
return stops.every((n) => Number.isFinite(n)) ? stops.map((n) => num6(n)).join(" ") : undefined;
|
|
380
|
+
}
|
|
381
|
+
/** The lengths Cytoscape.js draws at half their value: a bundle's control point step, an outline's offset. */
|
|
382
|
+
const HALVED = new Set(["fanSpacing", "outerBorderOffset"]);
|
|
123
383
|
/** The node properties graph-io carries, by Cytoscape.js name. */
|
|
124
384
|
export const CYJS_NODE_PROPERTIES = new Map([
|
|
125
385
|
["background-color", { property: "fill", type: "color" }],
|
|
126
386
|
["background-opacity", { property: "fillOpacity", type: "zeroOne" }],
|
|
127
387
|
["border-color", { property: "borderColor", type: "color" }],
|
|
388
|
+
// the rings are drawn at their own opacity times the node's (`combineNodeOpacity`)
|
|
389
|
+
["border-opacity", { property: "_ringOpacity", type: "zeroOne" }],
|
|
128
390
|
["border-width", { property: "borderWidth", type: "size" }],
|
|
129
391
|
["border-style", { property: "borderStyle", type: "enum", enums: ["solid", "dotted", "dashed", "double"] }],
|
|
392
|
+
// the dashes a dashed border is drawn with and their ends, which decide how it looks (`combineDashes`)
|
|
393
|
+
["border-dash-pattern", { property: "_dashPattern", type: "text" }],
|
|
394
|
+
["border-cap", { property: "_dashCap", type: "enum", enums: ["butt", "round", "square"] }],
|
|
395
|
+
// where the border sits against the node's outline: across it, inside it or outside it
|
|
396
|
+
["border-position", { property: "borderPosition", type: "enum", enums: ["center", "inside", "outside"] }],
|
|
397
|
+
["outline-color", { property: "outerBorderColor", type: "color" }],
|
|
398
|
+
["outline-opacity", { property: "_outlineRingOpacity", type: "zeroOne" }],
|
|
399
|
+
["outline-width", { property: "outerBorderWidth", type: "size" }],
|
|
400
|
+
["outline-style", { property: "outerBorderStyle", type: "enum", enums: ["solid", "dotted", "dashed", "double"] }],
|
|
401
|
+
["outline-offset", { property: "outerBorderOffset", type: "size" }],
|
|
402
|
+
["underlay-color", { property: "underlayColor", type: "color" }],
|
|
403
|
+
["underlay-opacity", { property: "underlayOpacity", type: "zeroOne" }],
|
|
404
|
+
["underlay-padding", { property: "underlayPadding", type: "size" }],
|
|
405
|
+
["underlay-shape", { property: "underlayShape", type: "enum", enums: NODE_SHAPES }],
|
|
406
|
+
["underlay-corner-radius", { property: "underlayCornerRadius", type: "size" }],
|
|
407
|
+
["overlay-color", { property: "overlayColor", type: "color" }],
|
|
408
|
+
["overlay-opacity", { property: "overlayOpacity", type: "zeroOne" }],
|
|
409
|
+
["overlay-padding", { property: "overlayPadding", type: "size" }],
|
|
410
|
+
["overlay-shape", { property: "overlayShape", type: "enum", enums: NODE_SHAPES }],
|
|
411
|
+
["overlay-corner-radius", { property: "overlayCornerRadius", type: "size" }],
|
|
130
412
|
["shape", { property: "shape", type: "enum", enums: NODE_SHAPES }],
|
|
413
|
+
["shape-polygon-points", { property: "shapePoints", type: "text" }],
|
|
131
414
|
["corner-radius", { property: "cornerRadius", type: "size" }],
|
|
132
415
|
["width", { property: "width", type: "nodeSize" }],
|
|
133
416
|
["height", { property: "height", type: "nodeSize" }],
|
|
417
|
+
// a node is drawn this much larger on every side (`nodeSizes`)
|
|
418
|
+
["padding", { property: "_padding", type: "text" }],
|
|
134
419
|
[
|
|
135
420
|
"text-valign",
|
|
136
421
|
{ property: "_valign", type: "enum", enums: ["top", "top-inside", "center", "bottom", "bottom-inside"] },
|
|
@@ -139,6 +424,16 @@ export const CYJS_NODE_PROPERTIES = new Map([
|
|
|
139
424
|
"text-halign",
|
|
140
425
|
{ property: "_halign", type: "enum", enums: ["left", "left-inside", "center", "right", "right-inside"] },
|
|
141
426
|
],
|
|
427
|
+
// the fill's gradient, combined afterward into `fill`, `fillGradient`, `fillGradientAngle` and the other
|
|
428
|
+
// `fillGradient*` properties
|
|
429
|
+
[
|
|
430
|
+
"background-fill",
|
|
431
|
+
{ property: "_backgroundFill", type: "enum", enums: ["solid", "linear-gradient", "radial-gradient"] },
|
|
432
|
+
],
|
|
433
|
+
["background-gradient-stop-colors", { property: "_backgroundStops", type: "text" }],
|
|
434
|
+
["background-gradient-stop-positions", { property: "_backgroundPositions", type: "text" }],
|
|
435
|
+
["background-gradient-direction", { property: "_backgroundDirection", type: "enum", enums: GRADIENT_DIRECTIONS }],
|
|
436
|
+
...CYJS_FACE_PROPERTIES,
|
|
142
437
|
...LABEL,
|
|
143
438
|
]);
|
|
144
439
|
/** The edge properties graph-io carries, by Cytoscape.js name. */
|
|
@@ -146,14 +441,67 @@ export const CYJS_EDGE_PROPERTIES = new Map([
|
|
|
146
441
|
["line-color", { property: "color", type: "color" }],
|
|
147
442
|
["width", { property: "width", type: "nodeSize" }],
|
|
148
443
|
["line-style", { property: "lineStyle", type: "enum", enums: ["solid", "dotted", "dashed"] }],
|
|
444
|
+
// the dashes a dashed line is drawn with and their ends, which decide how it looks (`combineDashes`)
|
|
445
|
+
["line-dash-pattern", { property: "_dashPattern", type: "text" }],
|
|
446
|
+
["line-cap", { property: "_dashCap", type: "enum", enums: ["butt", "round", "square"] }],
|
|
447
|
+
// the line's own opacity, combined afterward into `opacity`, which the line is drawn at
|
|
448
|
+
["line-opacity", { property: "_lineOpacity", type: "zeroOne" }],
|
|
449
|
+
["line-outline-width", { property: "outlineWidth", type: "size" }],
|
|
450
|
+
["line-fill", { property: "gradientKind", type: "enum", enums: ["solid", "linear-gradient", "radial-gradient"] }],
|
|
451
|
+
["line-gradient-stop-colors", { property: "gradientColors", type: "text" }],
|
|
452
|
+
["line-gradient-stop-positions", { property: "gradientStops", type: "text" }],
|
|
453
|
+
["line-outline-color", { property: "outlineColor", type: "color" }],
|
|
454
|
+
["underlay-color", { property: "underlayColor", type: "color" }],
|
|
455
|
+
["underlay-opacity", { property: "underlayOpacity", type: "zeroOne" }],
|
|
456
|
+
["underlay-padding", { property: "underlayPadding", type: "size" }],
|
|
457
|
+
["overlay-color", { property: "overlayColor", type: "color" }],
|
|
458
|
+
["overlay-opacity", { property: "overlayOpacity", type: "zeroOne" }],
|
|
459
|
+
["overlay-padding", { property: "overlayPadding", type: "size" }],
|
|
149
460
|
["target-arrow-shape", { property: "targetArrow", type: "enum", enums: ARROWS }],
|
|
150
461
|
["source-arrow-shape", { property: "sourceArrow", type: "enum", enums: ARROWS }],
|
|
151
462
|
["target-arrow-color", { property: "targetArrowColor", type: "color" }],
|
|
152
463
|
["source-arrow-color", { property: "sourceArrowColor", type: "color" }],
|
|
153
|
-
["
|
|
464
|
+
["mid-target-arrow-shape", { property: "midTargetArrow", type: "enum", enums: ARROWS }],
|
|
465
|
+
["mid-source-arrow-shape", { property: "midSourceArrow", type: "enum", enums: ARROWS }],
|
|
466
|
+
["mid-target-arrow-color", { property: "midTargetArrowColor", type: "color" }],
|
|
467
|
+
["mid-source-arrow-color", { property: "midSourceArrowColor", type: "color" }],
|
|
468
|
+
// filled or hollow: combined with the shape afterward (`combineParts`), a hollow triangle being `triangle-open`
|
|
469
|
+
["target-arrow-fill", { property: "_targetArrowFill", type: "enum", enums: ["filled", "hollow"] }],
|
|
470
|
+
["source-arrow-fill", { property: "_sourceArrowFill", type: "enum", enums: ["filled", "hollow"] }],
|
|
471
|
+
["mid-target-arrow-fill", { property: "_midTargetArrowFill", type: "enum", enums: ["filled", "hollow"] }],
|
|
472
|
+
["mid-source-arrow-fill", { property: "_midSourceArrowFill", type: "enum", enums: ["filled", "hollow"] }],
|
|
473
|
+
["curve-style", { property: "curved", type: "enum", enums: CYJS_CURVE_STYLES }],
|
|
474
|
+
// a route's settings, read by the routes (`edgeRoutes`) as Cytoscape.js spells them
|
|
475
|
+
["segment-distances", { property: "_segmentDistances", type: "text" }],
|
|
476
|
+
["segment-weights", { property: "_segmentWeights", type: "text" }],
|
|
477
|
+
["control-point-distances", { property: "_controlPointDistances", type: "text" }],
|
|
478
|
+
["control-point-weights", { property: "_controlPointWeights", type: "text" }],
|
|
479
|
+
["taxi-direction", { property: "_taxiDirection", type: "text" }],
|
|
480
|
+
["taxi-turn", { property: "_taxiTurn", type: "text" }],
|
|
481
|
+
["taxi-turn-min-distance", { property: "_taxiTurnMinDistance", type: "size" }],
|
|
482
|
+
["edge-distances", { property: "_edgeDistances", type: "text" }],
|
|
483
|
+
["loop-direction", { property: "_loopDirection", type: "text" }],
|
|
484
|
+
["loop-sweep", { property: "_loopSweep", type: "text" }],
|
|
485
|
+
["segment-radii", { property: "_segmentRadii", type: "text" }],
|
|
486
|
+
["taxi-radius", { property: "_taxiRadius", type: "text" }],
|
|
487
|
+
["radius-type", { property: "_radiusType", type: "text" }],
|
|
488
|
+
// where the ends meet the nodes, read with the routes (`edgePorts`)
|
|
489
|
+
["source-endpoint", { property: "_sourceEndpoint", type: "text" }],
|
|
490
|
+
["target-endpoint", { property: "_targetEndpoint", type: "text" }],
|
|
491
|
+
// a bundle's control points are this far apart, so the curves' middles half of it (see cyjsNeutral)
|
|
492
|
+
["control-point-step-size", { property: "fanSpacing", type: "size" }],
|
|
154
493
|
["arrow-scale", { property: "arrowSize", type: "positive" }],
|
|
155
494
|
["source-label", { property: "sourceLabel", type: "text" }],
|
|
156
495
|
["target-label", { property: "targetLabel", type: "text" }],
|
|
496
|
+
["source-text-offset", { property: "sourceLabelOffset", type: "size" }],
|
|
497
|
+
["target-text-offset", { property: "targetLabelOffset", type: "size" }],
|
|
498
|
+
["source-text-margin-x", { property: "sourceLabelOffsetX", type: "signedSize" }],
|
|
499
|
+
["source-text-margin-y", { property: "sourceLabelOffsetY", type: "signedSize" }],
|
|
500
|
+
["target-text-margin-x", { property: "targetLabelOffsetX", type: "signedSize" }],
|
|
501
|
+
["target-text-margin-y", { property: "targetLabelOffsetY", type: "signedSize" }],
|
|
502
|
+
// an angle, or autorotate along the line, which the routes work out (`autorotateLabels`)
|
|
503
|
+
["source-text-rotation", { property: "_sourceRotation", type: "text" }],
|
|
504
|
+
["target-text-rotation", { property: "_targetRotation", type: "text" }],
|
|
157
505
|
...LABEL,
|
|
158
506
|
]);
|
|
159
507
|
/**
|
|
@@ -164,6 +512,31 @@ export const CYJS_EDGE_PROPERTIES = new Map([
|
|
|
164
512
|
export function cyjsProperties(target) {
|
|
165
513
|
return target === "node" ? CYJS_NODE_PROPERTIES : CYJS_EDGE_PROPERTIES;
|
|
166
514
|
}
|
|
515
|
+
/**
|
|
516
|
+
* Cytoscape.js 3.34.3's property aliases (`styfn.aliases`): each name is read as the property it points to.
|
|
517
|
+
*/
|
|
518
|
+
const CYJS_ALIASES = new Map([
|
|
519
|
+
["content", "label"],
|
|
520
|
+
["control-point-distance", "control-point-distances"],
|
|
521
|
+
["control-point-weight", "control-point-weights"],
|
|
522
|
+
["segment-distance", "segment-distances"],
|
|
523
|
+
["segment-weight", "segment-weights"],
|
|
524
|
+
["segment-radius", "segment-radii"],
|
|
525
|
+
["edge-text-rotation", "text-rotation"],
|
|
526
|
+
["padding-left", "padding"],
|
|
527
|
+
["padding-right", "padding"],
|
|
528
|
+
["padding-top", "padding"],
|
|
529
|
+
["padding-bottom", "padding"],
|
|
530
|
+
]);
|
|
531
|
+
/**
|
|
532
|
+
* A dash-form property name with Cytoscape.js's aliases resolved (`content` is `label`, `segment-distance` is
|
|
533
|
+
* `segment-distances`, `padding-left` is `padding`).
|
|
534
|
+
* @param dashed - the name in dash form
|
|
535
|
+
* @returns the property it sets
|
|
536
|
+
*/
|
|
537
|
+
export function cyjsAliasOf(dashed) {
|
|
538
|
+
return CYJS_ALIASES.get(dashed) ?? dashed;
|
|
539
|
+
}
|
|
167
540
|
/**
|
|
168
541
|
* A property name in Cytoscape.js's dash form, aliases resolved (`backgroundColor` and `content` are read as
|
|
169
542
|
* `background-color` and `label`).
|
|
@@ -171,8 +544,7 @@ export function cyjsProperties(target) {
|
|
|
171
544
|
* @returns the dash-form name
|
|
172
545
|
*/
|
|
173
546
|
export function cyjsPropertyName(name) {
|
|
174
|
-
|
|
175
|
-
return dashed === "content" ? "label" : dashed;
|
|
547
|
+
return cyjsAliasOf(name.replaceAll(/[A-Z]/g, (c) => `-${c.toLowerCase()}`));
|
|
176
548
|
}
|
|
177
549
|
/** Thrown by Cytoscape.js itself: a color given as a number makes its parser call `toLowerCase` on a number. */
|
|
178
550
|
export const CYJS_THROWS = "throws";
|
|
@@ -404,6 +776,7 @@ function parseFlat(spec, raw, rendered = false) {
|
|
|
404
776
|
return ok ? { kind: "number", value: x, units: null, str: String(x) } : null;
|
|
405
777
|
}
|
|
406
778
|
case "size":
|
|
779
|
+
case "signedSize":
|
|
407
780
|
case "nodeSize":
|
|
408
781
|
return parseSizeValue(spec, value, raw);
|
|
409
782
|
case "text":
|
|
@@ -464,7 +837,9 @@ function parseSizeValue(spec, value, raw) {
|
|
|
464
837
|
if (Number.isNaN(x)) {
|
|
465
838
|
return spec.type === "nodeSize" && raw === "label" ? { kind: "word", value: "label", str: "label" } : null;
|
|
466
839
|
}
|
|
467
|
-
return x < 0
|
|
840
|
+
return x < 0 && spec.type !== "signedSize"
|
|
841
|
+
? null
|
|
842
|
+
: { kind: "number", value: x, units, str: `${String(x)}${units ?? ""}` };
|
|
468
843
|
}
|
|
469
844
|
/**
|
|
470
845
|
* Splits the arguments of `mapData(...)` at the commas outside parentheses.
|
|
@@ -570,7 +945,11 @@ function parseMapData(spec, value, mode) {
|
|
|
570
945
|
if (mode === "bypass") {
|
|
571
946
|
return null;
|
|
572
947
|
}
|
|
573
|
-
const numeric = spec.type === "zeroOne" ||
|
|
948
|
+
const numeric = spec.type === "zeroOne" ||
|
|
949
|
+
spec.type === "positive" ||
|
|
950
|
+
spec.type === "size" ||
|
|
951
|
+
spec.type === "signedSize" ||
|
|
952
|
+
spec.type === "nodeSize";
|
|
574
953
|
if (spec.type !== "color" && !numeric) {
|
|
575
954
|
return null;
|
|
576
955
|
}
|
|
@@ -659,6 +1038,22 @@ export function applyCyjsMapper(spec, m, data) {
|
|
|
659
1038
|
}
|
|
660
1039
|
return null;
|
|
661
1040
|
}
|
|
1041
|
+
/**
|
|
1042
|
+
* A flat color as `#rrggbb`; a channel outside 0..255 is noted and undefined is returned.
|
|
1043
|
+
* @param v - the color
|
|
1044
|
+
* @param site - where it was read
|
|
1045
|
+
* @returns the color, or undefined
|
|
1046
|
+
*/
|
|
1047
|
+
function colorNeutral(v, site) {
|
|
1048
|
+
if (v.rgb.some((c) => !Number.isFinite(c) || c < 0 || c > 255)) {
|
|
1049
|
+
site.notes.add(STYLE_ISSUE.BAD_VALUE, site.target, site.property, {
|
|
1050
|
+
sample: v.str,
|
|
1051
|
+
element: site.element,
|
|
1052
|
+
});
|
|
1053
|
+
return undefined;
|
|
1054
|
+
}
|
|
1055
|
+
return `#${v.rgb.map((c) => Math.round(c).toString(16).padStart(2, "0")).join("")}`;
|
|
1056
|
+
}
|
|
662
1057
|
/**
|
|
663
1058
|
* The neutral value a flat value is drawn as, for one property. A value Cytoscape.js draws from the page (an `em`
|
|
664
1059
|
* size, a node sized to its label) cannot be evaluated: it is noted and undefined is returned.
|
|
@@ -669,25 +1064,12 @@ export function applyCyjsMapper(spec, m, data) {
|
|
|
669
1064
|
*/
|
|
670
1065
|
export function cyjsNeutral(spec, v, site) {
|
|
671
1066
|
switch (v.kind) {
|
|
672
|
-
case "color":
|
|
673
|
-
|
|
674
|
-
site.notes.add(STYLE_ISSUE.BAD_VALUE, site.target, site.property, {
|
|
675
|
-
sample: v.str,
|
|
676
|
-
element: site.element,
|
|
677
|
-
});
|
|
678
|
-
return undefined;
|
|
679
|
-
}
|
|
680
|
-
return `#${v.rgb.map((c) => Math.round(c).toString(16).padStart(2, "0")).join("")}`;
|
|
681
|
-
}
|
|
1067
|
+
case "color":
|
|
1068
|
+
return colorNeutral(v, site);
|
|
682
1069
|
case "number":
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
element: site.element,
|
|
687
|
-
});
|
|
688
|
-
return undefined;
|
|
689
|
-
}
|
|
690
|
-
return num6(v.value);
|
|
1070
|
+
// Cytoscape.js steps a bundle's control points; a quadratic's middle is half as far out. It grows the
|
|
1071
|
+
// outline's path by its offset across, so the outline starts half the offset out (drawOutline).
|
|
1072
|
+
return num6((HALVED.has(spec.property) ? v.value / 2 : v.value) * (v.units === "em" ? EM_PX : 1));
|
|
691
1073
|
default:
|
|
692
1074
|
break;
|
|
693
1075
|
}
|
|
@@ -695,25 +1077,58 @@ export function cyjsNeutral(spec, v, site) {
|
|
|
695
1077
|
switch (spec.property) {
|
|
696
1078
|
case "width":
|
|
697
1079
|
case "height":
|
|
698
|
-
|
|
1080
|
+
// a node sized to its label is drawn so by the node sizes (`nodeSizes`); an edge has no such width
|
|
1081
|
+
if (site.target === "edge") {
|
|
1082
|
+
site.notes.add(STYLE_ISSUE.BAD_VALUE, site.target, site.property, {
|
|
1083
|
+
sample: v.str,
|
|
1084
|
+
element: site.element,
|
|
1085
|
+
});
|
|
1086
|
+
}
|
|
699
1087
|
return undefined;
|
|
700
1088
|
case "label":
|
|
701
1089
|
case "sourceLabel":
|
|
702
1090
|
case "targetLabel":
|
|
703
1091
|
case "labelFont":
|
|
704
1092
|
return String(word);
|
|
1093
|
+
case "gradientKind":
|
|
1094
|
+
return GRADIENT_KINDS.get(String(word)) ?? undefined;
|
|
1095
|
+
case "gradientColors":
|
|
1096
|
+
return gradientColors(String(word), site);
|
|
1097
|
+
case "gradientStops":
|
|
1098
|
+
return gradientStops(String(word));
|
|
705
1099
|
case "labelItalic":
|
|
706
1100
|
return word === "italic" || word === "oblique";
|
|
707
1101
|
case "curved":
|
|
708
1102
|
return !STRAIGHT.has(String(word));
|
|
709
|
-
case "
|
|
1103
|
+
case "shapePoints":
|
|
1104
|
+
return cyjsPointsToNeutral(String(word)) ?? undefined;
|
|
1105
|
+
case "underlayShape":
|
|
1106
|
+
case "overlayShape":
|
|
710
1107
|
return canonEnum("shape", String(word), "cytoscape-js", site) ?? undefined;
|
|
1108
|
+
case "shape": {
|
|
1109
|
+
const polygon = String(word).toLowerCase();
|
|
1110
|
+
if (polygon === "polygon") {
|
|
1111
|
+
return "polygon";
|
|
1112
|
+
}
|
|
1113
|
+
// drawn exactly as the polygon Cytoscape.js builds, by `cyjsPolygonShapes`
|
|
1114
|
+
return CYJS_POLYGON_SHAPES.has(polygon) || CYJS_ROUND_SHAPES.has(polygon)
|
|
1115
|
+
? `other:${polygon}`
|
|
1116
|
+
: (canonEnum("shape", String(word), "cytoscape-js", site) ?? undefined);
|
|
1117
|
+
}
|
|
711
1118
|
case "borderStyle":
|
|
712
1119
|
return canonEnum("borderStyle", String(word), "cytoscape-js", site) ?? undefined;
|
|
1120
|
+
case "outerBorderStyle":
|
|
1121
|
+
// cytoscape.js 3.34.3 drawOutline strokes a double outline whole and then erases a line a third of the
|
|
1122
|
+
// BORDER's width down its middle, a hairline under a border of 1: the ring it shows is solid
|
|
1123
|
+
return word === "double"
|
|
1124
|
+
? "solid"
|
|
1125
|
+
: (canonEnum("borderStyle", String(word), "cytoscape-js", site) ?? undefined);
|
|
713
1126
|
case "lineStyle":
|
|
714
1127
|
return canonEnum("lineStyle", String(word), "cytoscape-js", site) ?? undefined;
|
|
715
1128
|
case "sourceArrow":
|
|
716
1129
|
case "targetArrow":
|
|
1130
|
+
case "midSourceArrow":
|
|
1131
|
+
case "midTargetArrow":
|
|
717
1132
|
return canonEnum("arrow", String(word), "cytoscape-js", site) ?? undefined;
|
|
718
1133
|
case "labelWeight":
|
|
719
1134
|
return canonEnum("weight", String(word), "cytoscape-js", site) ?? undefined;
|
|
@@ -741,4 +1156,26 @@ export function cyjsRendered(target, name, str, site) {
|
|
|
741
1156
|
}
|
|
742
1157
|
return cyjsNeutral(spec, v, site);
|
|
743
1158
|
}
|
|
1159
|
+
/**
|
|
1160
|
+
* The line class a dash array looks like against the line's width: solid where its gaps are a tenth of it or less,
|
|
1161
|
+
* dotted where no dash is longer than one and a half widths, dash-dot where a dash is twice another, else dashed.
|
|
1162
|
+
* @param dash - the dashes and gaps, in pixels
|
|
1163
|
+
* @param width - the line's width
|
|
1164
|
+
* @param cap - the dashes' ends
|
|
1165
|
+
* @returns the neutral line style
|
|
1166
|
+
*/
|
|
1167
|
+
export function cyjsDashLook(dash, width, cap) {
|
|
1168
|
+
const pairs = dash.length % 2 === 1 ? [...dash, ...dash] : [...dash];
|
|
1169
|
+
const grow = cap === "butt" ? 0 : width;
|
|
1170
|
+
const on = pairs.filter((_, i) => i % 2 === 0).map((d) => Math.max(0, d) + grow);
|
|
1171
|
+
const off = pairs.filter((_, i) => i % 2 === 1).map((d) => Math.max(0, d - grow));
|
|
1172
|
+
const sum = (xs) => xs.reduce((a, b) => a + b, 0);
|
|
1173
|
+
if (sum(off) <= 0.1 * (sum(on) + sum(off))) {
|
|
1174
|
+
return "solid";
|
|
1175
|
+
}
|
|
1176
|
+
if (on.every((d) => d <= Math.max(1, width) * 1.5)) {
|
|
1177
|
+
return "dotted";
|
|
1178
|
+
}
|
|
1179
|
+
return Math.max(...on) >= 2 * Math.min(...on) ? "dash-dot" : "dashed";
|
|
1180
|
+
}
|
|
744
1181
|
//# sourceMappingURL=mappers.js.map
|