@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
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Credentials (design section 6): objects made by factories, holding their secret where no code
|
|
3
|
+
* can read it back. graph-io applies a credential inside `ctx.fetch`, only to the origins it is
|
|
4
|
+
* bound to, and keeps nothing after a load settles.
|
|
5
|
+
*
|
|
6
|
+
* Experimental, with the source contract.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { failAlone } from "./fail.js";
|
|
10
|
+
import { type AwsCredentials, type Credential, type CredentialKind } from "./types.js";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Where a credential may go: the load's endpoint origin by default. Experimental.
|
|
14
|
+
* @category Network sources
|
|
15
|
+
*/
|
|
16
|
+
export interface CredentialBind {
|
|
17
|
+
/** The origins (scheme, host and port) it may be sent to. */
|
|
18
|
+
readonly origins?: readonly string[] | undefined;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The options of `credentials.awsSigV4`. Experimental.
|
|
23
|
+
* @category Network sources
|
|
24
|
+
*/
|
|
25
|
+
export interface AwsSigV4Options {
|
|
26
|
+
/** The AWS region ("us-east-1"). */
|
|
27
|
+
readonly region: string;
|
|
28
|
+
/** The signing service: "neptune-db" (default) or "neptune-graph" for Neptune Analytics. */
|
|
29
|
+
readonly service?: string | undefined;
|
|
30
|
+
/** The credentials, or a function returning fresh ones per request. */
|
|
31
|
+
readonly credentials: AwsCredentials | (() => Promise<AwsCredentials>);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/** What only graph-io's own code can read about a credential. */
|
|
35
|
+
type Secret =
|
|
36
|
+
| { readonly kind: "bearer"; readonly token: string | (() => Promise<string>) }
|
|
37
|
+
| { readonly kind: "basic"; readonly username: string; readonly password: string }
|
|
38
|
+
| {
|
|
39
|
+
readonly kind: "api-key";
|
|
40
|
+
readonly header: string | null;
|
|
41
|
+
readonly query: string | null;
|
|
42
|
+
readonly value: string;
|
|
43
|
+
}
|
|
44
|
+
| { readonly kind: "aws-sigv4"; readonly options: AwsSigV4Options }
|
|
45
|
+
| {
|
|
46
|
+
readonly kind: "custom";
|
|
47
|
+
readonly name: string;
|
|
48
|
+
readonly apply: (request: Request) => Promise<Request> | Request;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/** The secrets, by credential; a WeakMap so nothing reachable from the object holds them. */
|
|
52
|
+
const SECRETS = new WeakMap<Credential, Secret>();
|
|
53
|
+
|
|
54
|
+
/** The key Node's util.inspect looks up. */
|
|
55
|
+
const INSPECT = Symbol.for("nodejs.util.inspect.custom");
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* The scheme, host and port of a URL. `URL.origin` is "null" for schemes such as bolt+s:, so this
|
|
59
|
+
* is used everywhere instead.
|
|
60
|
+
* @param url - the URL
|
|
61
|
+
* @returns the origin string
|
|
62
|
+
*/
|
|
63
|
+
export function originOf(url: URL): string {
|
|
64
|
+
return `${url.protocol}//${url.host}`;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Normalize the origins a credential is bound to.
|
|
69
|
+
* @param bind - the bind option
|
|
70
|
+
* @returns the normalized origins
|
|
71
|
+
*/
|
|
72
|
+
function bindOrigins(bind: CredentialBind | undefined): readonly string[] {
|
|
73
|
+
return Object.freeze(
|
|
74
|
+
(bind?.origins ?? []).map((o) => {
|
|
75
|
+
let url: URL;
|
|
76
|
+
try {
|
|
77
|
+
url = new URL(o);
|
|
78
|
+
} catch {
|
|
79
|
+
return failAlone("E_SOURCE_PARAM", `credential origin ${JSON.stringify(o)} is not a URL`, {
|
|
80
|
+
name: "origins",
|
|
81
|
+
reason: "origin",
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
return originOf(url);
|
|
85
|
+
}),
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/** The object every factory returns: kind and origins visible, the secret in SECRETS. */
|
|
90
|
+
class SourceCredential implements Credential {
|
|
91
|
+
readonly kind: CredentialKind;
|
|
92
|
+
readonly origins: readonly string[];
|
|
93
|
+
readonly username: string | undefined;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Create one; only the factories do.
|
|
97
|
+
* @param secret - the secret
|
|
98
|
+
* @param bind - the origins it is bound to
|
|
99
|
+
*/
|
|
100
|
+
constructor(secret: Secret, bind: CredentialBind | undefined) {
|
|
101
|
+
this.kind = secret.kind === "custom" ? secret.name : secret.kind;
|
|
102
|
+
this.origins = bindOrigins(bind);
|
|
103
|
+
this.username = secret.kind === "basic" ? secret.username : undefined;
|
|
104
|
+
SECRETS.set(this, secret);
|
|
105
|
+
Object.freeze(this);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* What JSON.stringify writes: never the secret.
|
|
110
|
+
* @returns kind, origins and a basic credential's user name
|
|
111
|
+
*/
|
|
112
|
+
toJSON(): Record<string, unknown> {
|
|
113
|
+
return this.username === undefined
|
|
114
|
+
? { kind: this.kind, origins: this.origins }
|
|
115
|
+
: { kind: this.kind, origins: this.origins, username: this.username };
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* What util.inspect and console.log show in Node: never the secret.
|
|
120
|
+
* @returns the same as toJSON
|
|
121
|
+
*/
|
|
122
|
+
[INSPECT](): Record<string, unknown> {
|
|
123
|
+
return this.toJSON();
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* What string conversion shows: never the secret.
|
|
128
|
+
* @returns a description
|
|
129
|
+
*/
|
|
130
|
+
toString(): string {
|
|
131
|
+
return `[Credential ${this.kind}]`;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Base64 of a string's UTF-8 bytes.
|
|
137
|
+
* @param text - the text
|
|
138
|
+
* @returns base64
|
|
139
|
+
*/
|
|
140
|
+
function base64(text: string): string {
|
|
141
|
+
let binary = "";
|
|
142
|
+
for (const b of new TextEncoder().encode(text)) {
|
|
143
|
+
binary += String.fromCodePoint(b);
|
|
144
|
+
}
|
|
145
|
+
return btoa(binary);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* The factories that make credentials. Pass the result as the `credential` option of a load; it is
|
|
150
|
+
* sent only to the load's endpoint origin, or to `bind.origins` when you give them. Experimental.
|
|
151
|
+
* @example
|
|
152
|
+
* ```ts
|
|
153
|
+
* await loadFromSource("people", { team: "core" }, {
|
|
154
|
+
* endpoint: "https://example.com",
|
|
155
|
+
* credential: credentials.bearer(token),
|
|
156
|
+
* });
|
|
157
|
+
* ```
|
|
158
|
+
* @category Network sources
|
|
159
|
+
*/
|
|
160
|
+
export const credentials = Object.freeze({
|
|
161
|
+
/**
|
|
162
|
+
* An `Authorization: Bearer` token, or a function returning a fresh one per request.
|
|
163
|
+
* @param token - the token or a function returning it
|
|
164
|
+
* @param bind - the origins it may be sent to
|
|
165
|
+
* @returns the credential
|
|
166
|
+
*/
|
|
167
|
+
bearer(token: string | (() => Promise<string>), bind?: CredentialBind): Credential {
|
|
168
|
+
return new SourceCredential({ kind: "bearer", token }, bind);
|
|
169
|
+
},
|
|
170
|
+
/**
|
|
171
|
+
* HTTP basic authentication (a database user and password).
|
|
172
|
+
* @param username - the user name
|
|
173
|
+
* @param password - the password
|
|
174
|
+
* @param bind - the origins it may be sent to
|
|
175
|
+
* @returns the credential
|
|
176
|
+
*/
|
|
177
|
+
basic(username: string, password: string, bind?: CredentialBind): Credential {
|
|
178
|
+
return new SourceCredential({ kind: "basic", username, password }, bind);
|
|
179
|
+
},
|
|
180
|
+
/**
|
|
181
|
+
* An API key sent in a request header or a query parameter.
|
|
182
|
+
* @param where - `{ header: "X-Api-Key" }` or `{ query: "api_key" }`
|
|
183
|
+
* @param value - the key
|
|
184
|
+
* @param bind - the origins it may be sent to
|
|
185
|
+
* @returns the credential
|
|
186
|
+
*/
|
|
187
|
+
apiKey(
|
|
188
|
+
where: { readonly header: string } | { readonly query: string },
|
|
189
|
+
value: string,
|
|
190
|
+
bind?: CredentialBind,
|
|
191
|
+
): Credential {
|
|
192
|
+
const header = "header" in where ? where.header : null;
|
|
193
|
+
const query = "query" in where ? where.query : null;
|
|
194
|
+
return new SourceCredential({ kind: "api-key", header, query, value }, bind);
|
|
195
|
+
},
|
|
196
|
+
/**
|
|
197
|
+
* AWS Signature Version 4 (Amazon Neptune). The signer loads on first use.
|
|
198
|
+
* @param options - region, service and the credentials or a provider of them
|
|
199
|
+
* @param bind - the origins it may be sent to
|
|
200
|
+
* @returns the credential
|
|
201
|
+
*/
|
|
202
|
+
awsSigV4(options: AwsSigV4Options, bind?: CredentialBind): Credential {
|
|
203
|
+
return new SourceCredential({ kind: "aws-sigv4", options }, bind);
|
|
204
|
+
},
|
|
205
|
+
/**
|
|
206
|
+
* Anything else: a function that returns the request with its authentication added. The
|
|
207
|
+
* request's origin must not change.
|
|
208
|
+
* @param apply - adds the authentication
|
|
209
|
+
* @param kind - what to call it in `credential.kind`
|
|
210
|
+
* @param bind - the origins it may be sent to
|
|
211
|
+
* @returns the credential
|
|
212
|
+
*/
|
|
213
|
+
custom(apply: (request: Request) => Promise<Request> | Request, kind: string, bind?: CredentialBind): Credential {
|
|
214
|
+
return new SourceCredential({ kind: "custom", name: kind, apply }, bind);
|
|
215
|
+
},
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* The secret of a credential made by the factories, or undefined for any other object.
|
|
220
|
+
* @param credential - the credential
|
|
221
|
+
* @returns the secret
|
|
222
|
+
*/
|
|
223
|
+
function secretOf(credential: Credential): Secret | undefined {
|
|
224
|
+
return SECRETS.get(credential);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Whether an object is a credential made by the `credentials` factories.
|
|
229
|
+
* @param value - the value
|
|
230
|
+
* @returns true for a factory-made credential
|
|
231
|
+
*/
|
|
232
|
+
export function isCredential(value: unknown): value is Credential {
|
|
233
|
+
return typeof value === "object" && value !== null && secretOf(value as Credential) !== undefined;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* The request header a credential sets, for the browser checks; null for a query key or a custom one.
|
|
238
|
+
* @param credential - the credential
|
|
239
|
+
* @returns the header name, lowercase
|
|
240
|
+
*/
|
|
241
|
+
export function credentialHeader(credential: Credential): string | null {
|
|
242
|
+
const secret = secretOf(credential);
|
|
243
|
+
if (secret?.kind === "api-key") {
|
|
244
|
+
return secret.header?.toLowerCase() ?? null;
|
|
245
|
+
}
|
|
246
|
+
return secret?.kind === "bearer" || secret?.kind === "basic" || secret?.kind === "aws-sigv4"
|
|
247
|
+
? "authorization"
|
|
248
|
+
: null;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Add a credential to a request. Internal to graph-io: only `ctx.fetch` calls it.
|
|
253
|
+
* @param credential - the credential
|
|
254
|
+
* @param request - the request
|
|
255
|
+
* @returns the request with its authentication
|
|
256
|
+
*/
|
|
257
|
+
export async function applyCredential(credential: Credential, request: Request): Promise<Request> {
|
|
258
|
+
const secret = secretOf(credential);
|
|
259
|
+
if (secret === undefined) {
|
|
260
|
+
return failAlone("E_SOURCE_PARAM", "the credential was not made by the credentials factories", {
|
|
261
|
+
name: "credential",
|
|
262
|
+
reason: "type",
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
switch (secret.kind) {
|
|
266
|
+
case "bearer": {
|
|
267
|
+
const token = typeof secret.token === "string" ? secret.token : await secret.token();
|
|
268
|
+
const headers = new Headers(request.headers);
|
|
269
|
+
headers.set("Authorization", `Bearer ${token}`);
|
|
270
|
+
return new Request(request, { headers });
|
|
271
|
+
}
|
|
272
|
+
case "basic": {
|
|
273
|
+
const headers = new Headers(request.headers);
|
|
274
|
+
const pair = `${secret.username}:${secret.password}`;
|
|
275
|
+
headers.set("Authorization", `Basic ${base64(pair)}`);
|
|
276
|
+
return new Request(request, { headers });
|
|
277
|
+
}
|
|
278
|
+
case "api-key": {
|
|
279
|
+
if (secret.header !== null) {
|
|
280
|
+
const headers = new Headers(request.headers);
|
|
281
|
+
headers.set(secret.header, secret.value);
|
|
282
|
+
return new Request(request, { headers });
|
|
283
|
+
}
|
|
284
|
+
const url = new URL(request.url);
|
|
285
|
+
url.searchParams.set(secret.query ?? "api_key", secret.value);
|
|
286
|
+
return new Request(url, request);
|
|
287
|
+
}
|
|
288
|
+
case "aws-sigv4": {
|
|
289
|
+
const { signRequest } = await import("./sigv4.js");
|
|
290
|
+
return signRequest(request, secret.options);
|
|
291
|
+
}
|
|
292
|
+
case "custom":
|
|
293
|
+
return secret.apply(request);
|
|
294
|
+
default:
|
|
295
|
+
return request;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
/**
|
|
300
|
+
* The raw secret, for a transport that must hand it to a driver (Bolt). Internal to graph-io; the
|
|
301
|
+
* caller applies the origin and TLS rules itself.
|
|
302
|
+
* @param credential - the credential
|
|
303
|
+
* @returns the kind and the values the driver needs
|
|
304
|
+
*/
|
|
305
|
+
export function unwrapCredential(
|
|
306
|
+
credential: Credential,
|
|
307
|
+
):
|
|
308
|
+
| { readonly kind: "basic"; readonly username: string; readonly password: string }
|
|
309
|
+
| { readonly kind: "bearer"; readonly token: string | (() => Promise<string>) }
|
|
310
|
+
| { readonly kind: CredentialKind }
|
|
311
|
+
| undefined {
|
|
312
|
+
const secret = secretOf(credential);
|
|
313
|
+
if (secret?.kind === "basic") {
|
|
314
|
+
return { kind: "basic", username: secret.username, password: secret.password };
|
|
315
|
+
}
|
|
316
|
+
if (secret?.kind === "bearer") {
|
|
317
|
+
return { kind: "bearer", token: secret.token };
|
|
318
|
+
}
|
|
319
|
+
return secret === undefined ? undefined : { kind: credential.kind };
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* Whether a credential can be remembered: its secret is a plain value, not a function. A token
|
|
324
|
+
* refresher, a custom credential and an AWS provider cannot.
|
|
325
|
+
* @param credential - the credential
|
|
326
|
+
* @returns true for basic, a bearer string token and an API key
|
|
327
|
+
*/
|
|
328
|
+
export function isStorableCredential(credential: Credential): boolean {
|
|
329
|
+
const secret = secretOf(credential);
|
|
330
|
+
return (
|
|
331
|
+
secret?.kind === "basic" ||
|
|
332
|
+
secret?.kind === "api-key" ||
|
|
333
|
+
(secret?.kind === "bearer" && typeof secret.token === "string")
|
|
334
|
+
);
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* The plain parts of a credential that can be remembered. Experimental.
|
|
339
|
+
* @category Network sources
|
|
340
|
+
*/
|
|
341
|
+
export type StorableCredential =
|
|
342
|
+
| {
|
|
343
|
+
/** A user name and password, sent as HTTP Basic authentication. */
|
|
344
|
+
readonly kind: "basic";
|
|
345
|
+
/** The user name. */
|
|
346
|
+
readonly username: string;
|
|
347
|
+
/** The password. */
|
|
348
|
+
readonly password: string;
|
|
349
|
+
}
|
|
350
|
+
| {
|
|
351
|
+
/** A bearer token, sent in the Authorization header. */
|
|
352
|
+
readonly kind: "bearer";
|
|
353
|
+
/** The token. */
|
|
354
|
+
readonly token: string;
|
|
355
|
+
}
|
|
356
|
+
| {
|
|
357
|
+
/** An API key, sent in a header or a query parameter. */
|
|
358
|
+
readonly kind: "api-key";
|
|
359
|
+
/** The header that carries the key, or null when a query parameter does. */
|
|
360
|
+
readonly header: string | null;
|
|
361
|
+
/** The query parameter that carries the key, or null when a header does. */
|
|
362
|
+
readonly query: string | null;
|
|
363
|
+
/** The key. */
|
|
364
|
+
readonly value: string;
|
|
365
|
+
};
|
|
366
|
+
|
|
367
|
+
/**
|
|
368
|
+
* The parts of a credential a credential store saves (graphty-element's `CredentialStore` is the
|
|
369
|
+
* one caller), or null when it cannot be saved: a token function, an AWS provider or a custom
|
|
370
|
+
* credential. The result HOLDS THE SECRET: never log it, and keep it only where you would keep the
|
|
371
|
+
* password itself. `fromStorableCredential` makes the credential again. Experimental.
|
|
372
|
+
* @param credential - a credential made by the `credentials` factories
|
|
373
|
+
* @returns the parts, or null
|
|
374
|
+
* @category Network sources
|
|
375
|
+
*/
|
|
376
|
+
export function storableCredential(credential: Credential): StorableCredential | null {
|
|
377
|
+
const secret = secretOf(credential);
|
|
378
|
+
switch (secret?.kind) {
|
|
379
|
+
case "basic":
|
|
380
|
+
return { kind: "basic", username: secret.username, password: secret.password };
|
|
381
|
+
case "api-key":
|
|
382
|
+
return { kind: "api-key", header: secret.header, query: secret.query, value: secret.value };
|
|
383
|
+
case "bearer":
|
|
384
|
+
return typeof secret.token === "string" ? { kind: "bearer", token: secret.token } : null;
|
|
385
|
+
default:
|
|
386
|
+
return null;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
/**
|
|
391
|
+
* The credential `storableCredential` took apart, bound to the origins given. Experimental.
|
|
392
|
+
* @param parts - what `storableCredential` returned
|
|
393
|
+
* @param bind - the origins it may be sent to
|
|
394
|
+
* @returns the credential
|
|
395
|
+
* @category Network sources
|
|
396
|
+
*/
|
|
397
|
+
export function fromStorableCredential(parts: StorableCredential, bind?: CredentialBind): Credential {
|
|
398
|
+
switch (parts.kind) {
|
|
399
|
+
case "basic":
|
|
400
|
+
return credentials.basic(parts.username, parts.password, bind);
|
|
401
|
+
case "bearer":
|
|
402
|
+
return credentials.bearer(parts.token, bind);
|
|
403
|
+
default:
|
|
404
|
+
return new SourceCredential(
|
|
405
|
+
{ kind: "api-key", header: parts.header, query: parts.query, value: parts.value },
|
|
406
|
+
bind,
|
|
407
|
+
);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The descriptors of the Cypher source and its presets: catalog data, available without loading
|
|
3
|
+
* the sources' code.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { type SourceDescriptor, type SourceFeature, type SourceParamDescriptor } from "../types.js";
|
|
7
|
+
|
|
8
|
+
/** The parameters every Cypher source shares. */
|
|
9
|
+
const CYPHER_PARAMS: readonly SourceParamDescriptor[] = [
|
|
10
|
+
{ name: "query", plainName: "Query", type: "query", language: "cypher" },
|
|
11
|
+
{
|
|
12
|
+
name: "mode",
|
|
13
|
+
plainName: "Mode",
|
|
14
|
+
type: "enum",
|
|
15
|
+
values: [
|
|
16
|
+
{ value: "query", label: "Query" },
|
|
17
|
+
{ value: "all", label: "Everything" },
|
|
18
|
+
{ value: "neighborhood", label: "Neighborhood" },
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
{ name: "ids", plainName: "Seed ids", type: "node-id" },
|
|
22
|
+
{ name: "depth", plainName: "Depth", type: "integer", default: 1, min: 1, max: 10 },
|
|
23
|
+
{ name: "labels", plainName: "Labels", type: "string", role: "filter", advanced: true },
|
|
24
|
+
{ name: "relationshipTypes", plainName: "Relationship types", type: "string", role: "filter", advanced: true },
|
|
25
|
+
{ name: "idProperty", plainName: "Id property", type: "string", advanced: true },
|
|
26
|
+
{ name: "database", plainName: "Database", type: "string" },
|
|
27
|
+
{
|
|
28
|
+
name: "long",
|
|
29
|
+
plainName: "Large integers",
|
|
30
|
+
type: "enum",
|
|
31
|
+
advanced: true,
|
|
32
|
+
values: [
|
|
33
|
+
{ value: "f64", label: "Number" },
|
|
34
|
+
{ value: "string", label: "Text" },
|
|
35
|
+
],
|
|
36
|
+
},
|
|
37
|
+
{ name: "countFirst", plainName: "Count first", type: "boolean", advanced: true },
|
|
38
|
+
{ name: "pageSize", plainName: "Page size", type: "integer", default: 1000, min: 1, max: 100000, advanced: true },
|
|
39
|
+
];
|
|
40
|
+
|
|
41
|
+
/** What every Cypher source can do: expand, probe, validate, and page a capped load. */
|
|
42
|
+
const CYPHER_FEATURES: readonly SourceFeature[] = ["expand", "probe", "validate", "page"];
|
|
43
|
+
|
|
44
|
+
/** The transport parameter of the generic source. */
|
|
45
|
+
const TRANSPORT_PARAM: SourceParamDescriptor = {
|
|
46
|
+
name: "transport",
|
|
47
|
+
plainName: "Transport",
|
|
48
|
+
type: "enum",
|
|
49
|
+
values: [
|
|
50
|
+
{ value: "query-api", label: "Neo4j Query API" },
|
|
51
|
+
{ value: "bolt", label: "Bolt" },
|
|
52
|
+
{ value: "neptune-https", label: "Neptune Database" },
|
|
53
|
+
{ value: "neptune-analytics", label: "Neptune Analytics" },
|
|
54
|
+
],
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* The descriptor of the generic `cypher` source. Experimental.
|
|
59
|
+
* @category Network sources
|
|
60
|
+
*/
|
|
61
|
+
export const CYPHER_DESCRIPTOR: SourceDescriptor = Object.freeze({
|
|
62
|
+
plainName: "Cypher database",
|
|
63
|
+
kind: "database",
|
|
64
|
+
version: 1,
|
|
65
|
+
auth: ["basic", "bearer", "aws-sigv4"],
|
|
66
|
+
authRequired: "optional",
|
|
67
|
+
features: CYPHER_FEATURES,
|
|
68
|
+
params: [...CYPHER_PARAMS, TRANSPORT_PARAM],
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* The descriptor of the `neo4j` preset. Experimental.
|
|
73
|
+
* @category Network sources
|
|
74
|
+
*/
|
|
75
|
+
export const NEO4J_DESCRIPTOR: SourceDescriptor = Object.freeze({
|
|
76
|
+
plainName: "Neo4j",
|
|
77
|
+
kind: "database",
|
|
78
|
+
version: 1,
|
|
79
|
+
auth: ["basic", "bearer"],
|
|
80
|
+
authRequired: "optional",
|
|
81
|
+
features: CYPHER_FEATURES,
|
|
82
|
+
params: [
|
|
83
|
+
...CYPHER_PARAMS,
|
|
84
|
+
{
|
|
85
|
+
// no default: a bolt: or bolt+s: endpoint picks Bolt, any other the Query API
|
|
86
|
+
...TRANSPORT_PARAM,
|
|
87
|
+
values: TRANSPORT_PARAM.values?.filter((v) => v.value === "query-api" || v.value === "bolt"),
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
samples: [
|
|
91
|
+
{
|
|
92
|
+
id: "neo4j-movies",
|
|
93
|
+
plainName: "Neo4j demo: movies",
|
|
94
|
+
endpoint: "https://demo.neo4jlabs.com:7473",
|
|
95
|
+
params: { database: "movies", mode: "all" },
|
|
96
|
+
publicLogin: { username: "movies", password: "movies" }, // NOSONAR(S2068): the public login Neo4j publishes for its demo server
|
|
97
|
+
counts: { nodes: 171, edges: 253 },
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
id: "hetionet",
|
|
101
|
+
plainName: "Hetionet",
|
|
102
|
+
endpoint: "bolt+s://neo4j.het.io:7687",
|
|
103
|
+
params: { transport: "bolt", mode: "neighborhood", idProperty: "name", ids: ["Metformin"], depth: 1 },
|
|
104
|
+
counts: { nodes: 47031, edges: 2250197 },
|
|
105
|
+
whole: false,
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* The descriptor of the `neptune` preset. Experimental.
|
|
112
|
+
* @category Network sources
|
|
113
|
+
*/
|
|
114
|
+
export const NEPTUNE_DESCRIPTOR: SourceDescriptor = Object.freeze({
|
|
115
|
+
plainName: "Amazon Neptune",
|
|
116
|
+
kind: "database",
|
|
117
|
+
version: 1,
|
|
118
|
+
auth: ["aws-sigv4"],
|
|
119
|
+
authRequired: "optional",
|
|
120
|
+
features: CYPHER_FEATURES,
|
|
121
|
+
params: [
|
|
122
|
+
...CYPHER_PARAMS,
|
|
123
|
+
{
|
|
124
|
+
// no default: a neptune-graph host picks Neptune Analytics, any other Neptune Database
|
|
125
|
+
...TRANSPORT_PARAM,
|
|
126
|
+
values: TRANSPORT_PARAM.values?.filter((v) => v.value.startsWith("neptune")),
|
|
127
|
+
},
|
|
128
|
+
],
|
|
129
|
+
// Neptune sends no CORS headers (Database), or is not shown to (Analytics)
|
|
130
|
+
runtimes: { browser: { supported: false, reason: "cors" }, worker: { supported: false, reason: "cors" } },
|
|
131
|
+
});
|