@graphty/graph-io 0.3.47 → 0.3.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/dist/chunks/{approximations-wWjCRzKj.js → approximations-C2riR4NT.js} +2 -2
  2. package/dist/chunks/{approximations-wWjCRzKj.js.map → approximations-C2riR4NT.js.map} +1 -1
  3. package/dist/chunks/{block-DiGq58c3.js → block-Cu22ewuS.js} +92 -21
  4. package/dist/chunks/block-Cu22ewuS.js.map +1 -0
  5. package/dist/chunks/{choose--jM0yYCo.js → choose-Cdx6Enl2.js} +3 -3
  6. package/dist/chunks/{choose--jM0yYCo.js.map → choose-Cdx6Enl2.js.map} +1 -1
  7. package/dist/chunks/codes-CV_Bhcyi.js +153 -0
  8. package/dist/chunks/codes-CV_Bhcyi.js.map +1 -0
  9. package/dist/chunks/{constants-BKwqelYD.js → constants-D0LqcsLJ.js} +2 -2
  10. package/dist/chunks/{constants-BKwqelYD.js.map → constants-D0LqcsLJ.js.map} +1 -1
  11. package/dist/chunks/context-cgmmOxZ2.js +663 -0
  12. package/dist/chunks/context-cgmmOxZ2.js.map +1 -0
  13. package/dist/chunks/credentials-BiQsnMTb.js +347 -0
  14. package/dist/chunks/credentials-BiQsnMTb.js.map +1 -0
  15. package/dist/chunks/cx-export-BEeF6ymo.js +259 -0
  16. package/dist/chunks/cx-export-BEeF6ymo.js.map +1 -0
  17. package/dist/chunks/descriptor-BJ-W0Jd-.js +137 -0
  18. package/dist/chunks/descriptor-BJ-W0Jd-.js.map +1 -0
  19. package/dist/chunks/descriptor-C-YDhtsn.js +48 -0
  20. package/dist/chunks/descriptor-C-YDhtsn.js.map +1 -0
  21. package/dist/chunks/{emit-CwU8cUmG.js → emit-CD8xnY8s.js} +70 -10
  22. package/dist/chunks/emit-CD8xnY8s.js.map +1 -0
  23. package/dist/chunks/{escape-CgzxiYPg.js → escape-DH2Egt-l.js} +12 -12
  24. package/dist/chunks/{escape-CgzxiYPg.js.map → escape-DH2Egt-l.js.map} +1 -1
  25. package/dist/chunks/{export-BvqAXCKh.js → export-CZ7VRm4I.js} +53 -1443
  26. package/dist/chunks/export-CZ7VRm4I.js.map +1 -0
  27. package/dist/chunks/{exporter-DndFlGSa.js → exporter-BIdaoIgh.js} +7 -6
  28. package/dist/chunks/{exporter-DndFlGSa.js.map → exporter-BIdaoIgh.js.map} +1 -1
  29. package/dist/chunks/{exporter-CJgfhF-l.js → exporter-ChjL5fmP.js} +8 -7
  30. package/dist/chunks/{exporter-CJgfhF-l.js.map → exporter-ChjL5fmP.js.map} +1 -1
  31. package/dist/chunks/{exporter--Mk9gXCJ.js → exporter-Dcw7Ldtq.js} +6 -4
  32. package/dist/chunks/{exporter--Mk9gXCJ.js.map → exporter-Dcw7Ldtq.js.map} +1 -1
  33. package/dist/chunks/exporter-DtVU80Fa.js +1008 -0
  34. package/dist/chunks/exporter-DtVU80Fa.js.map +1 -0
  35. package/dist/chunks/{exporter-CrDWIyiq.js → exporter-bxxjOrDZ.js} +11 -9
  36. package/dist/chunks/{exporter-CrDWIyiq.js.map → exporter-bxxjOrDZ.js.map} +1 -1
  37. package/dist/chunks/format-BMS-1Nxb.js +64 -0
  38. package/dist/chunks/format-BMS-1Nxb.js.map +1 -0
  39. package/dist/chunks/{generic-Dq1ntt9q.js → generic-CP6YD34u.js} +4 -4
  40. package/dist/chunks/{generic-Dq1ntt9q.js.map → generic-CP6YD34u.js.map} +1 -1
  41. package/dist/chunks/{importer-DiZRmOQG.js → importer-B87_fmVx.js} +13 -17
  42. package/dist/chunks/importer-B87_fmVx.js.map +1 -0
  43. package/dist/chunks/{importer-BSvfrX_h.js → importer-Bji2MeWr.js} +18 -1014
  44. package/dist/chunks/importer-Bji2MeWr.js.map +1 -0
  45. package/dist/chunks/{importer-COTK9Tsl.js → importer-CB_zV5_L.js} +14 -11
  46. package/dist/chunks/importer-CB_zV5_L.js.map +1 -0
  47. package/dist/chunks/{importer-e6LGpqHB.js → importer-CVT-JyDE.js} +12 -9
  48. package/dist/chunks/importer-CVT-JyDE.js.map +1 -0
  49. package/dist/chunks/{importer-yh_aBCU6.js → importer-Cyy6UseH.js} +7 -6
  50. package/dist/chunks/{importer-yh_aBCU6.js.map → importer-Cyy6UseH.js.map} +1 -1
  51. package/dist/chunks/{importer-iFYPEKaJ.js → importer-DPZDN40-.js} +14 -10
  52. package/dist/chunks/{importer-iFYPEKaJ.js.map → importer-DPZDN40-.js.map} +1 -1
  53. package/dist/chunks/{importer-CMmeMWlC.js → importer-e3huMZbm.js} +8 -260
  54. package/dist/chunks/importer-e3huMZbm.js.map +1 -0
  55. package/dist/chunks/input-Ccg9I22A.js +1397 -0
  56. package/dist/chunks/input-Ccg9I22A.js.map +1 -0
  57. package/dist/chunks/{json-elements-DJZRZ6jd.js → json-elements-By172SVq.js} +4 -4
  58. package/dist/chunks/{json-elements-DJZRZ6jd.js.map → json-elements-By172SVq.js.map} +1 -1
  59. package/dist/chunks/{lexicon-CT69Kd87.js → lexicon-u2SI5xcx.js} +19 -5
  60. package/dist/chunks/lexicon-u2SI5xcx.js.map +1 -0
  61. package/dist/chunks/{ontology-export-G4MqRdux.js → ontology-export-BwgMyuF0.js} +4 -3
  62. package/dist/chunks/{ontology-export-G4MqRdux.js.map → ontology-export-BwgMyuF0.js.map} +1 -1
  63. package/dist/chunks/{records-CiaWZrFH.js → records-Cgvxz-Vx.js} +2 -2
  64. package/dist/chunks/{records-CiaWZrFH.js.map → records-Cgvxz-Vx.js.map} +1 -1
  65. package/dist/chunks/{format-BpQBx8MZ.js → report-CgdsL9Hb.js} +72 -129
  66. package/dist/chunks/report-CgdsL9Hb.js.map +1 -0
  67. package/dist/chunks/sigv4-LkAzsLAu.js +247 -0
  68. package/dist/chunks/sigv4-LkAzsLAu.js.map +1 -0
  69. package/dist/chunks/{styles-BQnsga7p.js → styles-CaABMoO1.js} +76 -43
  70. package/dist/chunks/styles-CaABMoO1.js.map +1 -0
  71. package/dist/chunks/{styles-D3fRphrO.js → styles-P_gmFAOi.js} +101 -21
  72. package/dist/chunks/styles-P_gmFAOi.js.map +1 -0
  73. package/dist/chunks/{styles-yed-BF5x3_Y5.js → styles-yed-Cs1nmrjn.js} +60 -20
  74. package/dist/chunks/styles-yed-Cs1nmrjn.js.map +1 -0
  75. package/dist/chunks/{text-CzJNFOS9.js → text-BuKQVMz2.js} +2 -2
  76. package/dist/chunks/{text-CzJNFOS9.js.map → text-BuKQVMz2.js.map} +1 -1
  77. package/dist/chunks/{writer-DMKvthQE.js → writer-DvHTl36J.js} +5 -4
  78. package/dist/chunks/writer-DvHTl36J.js.map +1 -0
  79. package/dist/csv.js +7 -5
  80. package/dist/csv.js.map +1 -1
  81. package/dist/cx.js +5 -4
  82. package/dist/cx.js.map +1 -1
  83. package/dist/cx2.js +2 -2
  84. package/dist/cys.js +1 -1
  85. package/dist/dot.js +2 -2
  86. package/dist/gexf.js +7 -5
  87. package/dist/gexf.js.map +1 -1
  88. package/dist/gml.js +16 -13
  89. package/dist/gml.js.map +1 -1
  90. package/dist/graph-io.js +1181 -224
  91. package/dist/graph-io.js.map +1 -1
  92. package/dist/graphml.js +3 -3
  93. package/dist/json.js +1 -1
  94. package/dist/neo4j.js +6 -4
  95. package/dist/neo4j.js.map +1 -1
  96. package/dist/obo.js +1 -1
  97. package/dist/pajek.js +1 -1
  98. package/dist/sources-cypher.d.ts +1 -0
  99. package/dist/sources-cypher.js +1236 -0
  100. package/dist/sources-cypher.js.map +1 -0
  101. package/dist/sources-ndex.d.ts +1 -0
  102. package/dist/sources-ndex.js +278 -0
  103. package/dist/sources-ndex.js.map +1 -0
  104. package/dist/sources-rest.d.ts +1 -0
  105. package/dist/sources-rest.js +1367 -0
  106. package/dist/sources-rest.js.map +1 -0
  107. package/dist/src/common/report.d.ts +6 -3
  108. package/dist/src/common/report.d.ts.map +1 -1
  109. package/dist/src/common/report.js +15 -9
  110. package/dist/src/common/report.js.map +1 -1
  111. package/dist/src/formats/cx/styles.d.ts.map +1 -1
  112. package/dist/src/formats/cx/styles.js +1 -0
  113. package/dist/src/formats/cx/styles.js.map +1 -1
  114. package/dist/src/formats/dot/styles.d.ts.map +1 -1
  115. package/dist/src/formats/dot/styles.js +3 -1
  116. package/dist/src/formats/dot/styles.js.map +1 -1
  117. package/dist/src/formats/gexf/styles.d.ts +29 -12
  118. package/dist/src/formats/gexf/styles.d.ts.map +1 -1
  119. package/dist/src/formats/gexf/styles.js +160 -31
  120. package/dist/src/formats/gexf/styles.js.map +1 -1
  121. package/dist/src/formats/gml/styles.d.ts.map +1 -1
  122. package/dist/src/formats/gml/styles.js +5 -4
  123. package/dist/src/formats/gml/styles.js.map +1 -1
  124. package/dist/src/formats/graphml/styles-plain.d.ts.map +1 -1
  125. package/dist/src/formats/graphml/styles-plain.js +3 -3
  126. package/dist/src/formats/graphml/styles-plain.js.map +1 -1
  127. package/dist/src/formats/graphml/styles-yed.d.ts.map +1 -1
  128. package/dist/src/formats/graphml/styles-yed.js +89 -19
  129. package/dist/src/formats/graphml/styles-yed.js.map +1 -1
  130. package/dist/src/formats/pajek/styles.d.ts.map +1 -1
  131. package/dist/src/formats/pajek/styles.js +1 -0
  132. package/dist/src/formats/pajek/styles.js.map +1 -1
  133. package/dist/src/formats/xgmml/styles.d.ts.map +1 -1
  134. package/dist/src/formats/xgmml/styles.js +1 -0
  135. package/dist/src/formats/xgmml/styles.js.map +1 -1
  136. package/dist/src/index.d.ts +8 -1
  137. package/dist/src/index.d.ts.map +1 -1
  138. package/dist/src/index.js +9 -1
  139. package/dist/src/index.js.map +1 -1
  140. package/dist/src/registry.d.ts +173 -1
  141. package/dist/src/registry.d.ts.map +1 -1
  142. package/dist/src/registry.js +196 -1
  143. package/dist/src/registry.js.map +1 -1
  144. package/dist/src/sources/builtins.d.ts +11 -0
  145. package/dist/src/sources/builtins.d.ts.map +1 -0
  146. package/dist/src/sources/builtins.js +47 -0
  147. package/dist/src/sources/builtins.js.map +1 -0
  148. package/dist/src/sources/codes.d.ts +230 -0
  149. package/dist/src/sources/codes.d.ts.map +1 -0
  150. package/dist/src/sources/codes.js +58 -0
  151. package/dist/src/sources/codes.js.map +1 -0
  152. package/dist/src/sources/context.d.ts +112 -0
  153. package/dist/src/sources/context.d.ts.map +1 -0
  154. package/dist/src/sources/context.js +739 -0
  155. package/dist/src/sources/context.js.map +1 -0
  156. package/dist/src/sources/credentials.d.ts +179 -0
  157. package/dist/src/sources/credentials.d.ts.map +1 -0
  158. package/dist/src/sources/credentials.js +301 -0
  159. package/dist/src/sources/credentials.js.map +1 -0
  160. package/dist/src/sources/cypher/descriptor.d.ts +21 -0
  161. package/dist/src/sources/cypher/descriptor.d.ts.map +1 -0
  162. package/dist/src/sources/cypher/descriptor.js +119 -0
  163. package/dist/src/sources/cypher/descriptor.js.map +1 -0
  164. package/dist/src/sources/cypher/flatten.d.ts +72 -0
  165. package/dist/src/sources/cypher/flatten.d.ts.map +1 -0
  166. package/dist/src/sources/cypher/flatten.js +279 -0
  167. package/dist/src/sources/cypher/flatten.js.map +1 -0
  168. package/dist/src/sources/cypher/index.d.ts +33 -0
  169. package/dist/src/sources/cypher/index.d.ts.map +1 -0
  170. package/dist/src/sources/cypher/index.js +405 -0
  171. package/dist/src/sources/cypher/index.js.map +1 -0
  172. package/dist/src/sources/cypher/params.d.ts +40 -0
  173. package/dist/src/sources/cypher/params.d.ts.map +1 -0
  174. package/dist/src/sources/cypher/params.js +6 -0
  175. package/dist/src/sources/cypher/params.js.map +1 -0
  176. package/dist/src/sources/cypher/profiles.d.ts +44 -0
  177. package/dist/src/sources/cypher/profiles.d.ts.map +1 -0
  178. package/dist/src/sources/cypher/profiles.js +61 -0
  179. package/dist/src/sources/cypher/profiles.js.map +1 -0
  180. package/dist/src/sources/cypher/query-builder.d.ts +106 -0
  181. package/dist/src/sources/cypher/query-builder.d.ts.map +1 -0
  182. package/dist/src/sources/cypher/query-builder.js +236 -0
  183. package/dist/src/sources/cypher/query-builder.js.map +1 -0
  184. package/dist/src/sources/cypher/transports/bolt.d.ts +21 -0
  185. package/dist/src/sources/cypher/transports/bolt.d.ts.map +1 -0
  186. package/dist/src/sources/cypher/transports/bolt.js +185 -0
  187. package/dist/src/sources/cypher/transports/bolt.js.map +1 -0
  188. package/dist/src/sources/cypher/transports/neptune-analytics.d.ts +15 -0
  189. package/dist/src/sources/cypher/transports/neptune-analytics.d.ts.map +1 -0
  190. package/dist/src/sources/cypher/transports/neptune-analytics.js +38 -0
  191. package/dist/src/sources/cypher/transports/neptune-analytics.js.map +1 -0
  192. package/dist/src/sources/cypher/transports/neptune-https.d.ts +31 -0
  193. package/dist/src/sources/cypher/transports/neptune-https.d.ts.map +1 -0
  194. package/dist/src/sources/cypher/transports/neptune-https.js +104 -0
  195. package/dist/src/sources/cypher/transports/neptune-https.js.map +1 -0
  196. package/dist/src/sources/cypher/transports/query-api.d.ts +14 -0
  197. package/dist/src/sources/cypher/transports/query-api.d.ts.map +1 -0
  198. package/dist/src/sources/cypher/transports/query-api.js +80 -0
  199. package/dist/src/sources/cypher/transports/query-api.js.map +1 -0
  200. package/dist/src/sources/cypher/transports/transport.d.ts +78 -0
  201. package/dist/src/sources/cypher/transports/transport.d.ts.map +1 -0
  202. package/dist/src/sources/cypher/transports/transport.js +77 -0
  203. package/dist/src/sources/cypher/transports/transport.js.map +1 -0
  204. package/dist/src/sources/cypher/types-map.d.ts +91 -0
  205. package/dist/src/sources/cypher/types-map.d.ts.map +1 -0
  206. package/dist/src/sources/cypher/types-map.js +306 -0
  207. package/dist/src/sources/cypher/types-map.js.map +1 -0
  208. package/dist/src/sources/define.d.ts +47 -0
  209. package/dist/src/sources/define.d.ts.map +1 -0
  210. package/dist/src/sources/define.js +173 -0
  211. package/dist/src/sources/define.js.map +1 -0
  212. package/dist/src/sources/fail.d.ts +33 -0
  213. package/dist/src/sources/fail.d.ts.map +1 -0
  214. package/dist/src/sources/fail.js +49 -0
  215. package/dist/src/sources/fail.js.map +1 -0
  216. package/dist/src/sources/ids.d.ts +64 -0
  217. package/dist/src/sources/ids.d.ts.map +1 -0
  218. package/dist/src/sources/ids.js +64 -0
  219. package/dist/src/sources/ids.js.map +1 -0
  220. package/dist/src/sources/ndex/client.d.ts +31 -0
  221. package/dist/src/sources/ndex/client.d.ts.map +1 -0
  222. package/dist/src/sources/ndex/client.js +90 -0
  223. package/dist/src/sources/ndex/client.js.map +1 -0
  224. package/dist/src/sources/ndex/descriptor.d.ts +10 -0
  225. package/dist/src/sources/ndex/descriptor.d.ts.map +1 -0
  226. package/dist/src/sources/ndex/descriptor.js +55 -0
  227. package/dist/src/sources/ndex/descriptor.js.map +1 -0
  228. package/dist/src/sources/ndex/expand.d.ts +20 -0
  229. package/dist/src/sources/ndex/expand.d.ts.map +1 -0
  230. package/dist/src/sources/ndex/expand.js +87 -0
  231. package/dist/src/sources/ndex/expand.js.map +1 -0
  232. package/dist/src/sources/ndex/index.d.ts +25 -0
  233. package/dist/src/sources/ndex/index.d.ts.map +1 -0
  234. package/dist/src/sources/ndex/index.js +191 -0
  235. package/dist/src/sources/ndex/index.js.map +1 -0
  236. package/dist/src/sources/ndex/params.d.ts +17 -0
  237. package/dist/src/sources/ndex/params.d.ts.map +1 -0
  238. package/dist/src/sources/ndex/params.js +6 -0
  239. package/dist/src/sources/ndex/params.js.map +1 -0
  240. package/dist/src/sources/ndex/share-url.d.ts +40 -0
  241. package/dist/src/sources/ndex/share-url.d.ts.map +1 -0
  242. package/dist/src/sources/ndex/share-url.js +64 -0
  243. package/dist/src/sources/ndex/share-url.js.map +1 -0
  244. package/dist/src/sources/params.d.ts +28 -0
  245. package/dist/src/sources/params.d.ts.map +1 -0
  246. package/dist/src/sources/params.js +6 -0
  247. package/dist/src/sources/params.js.map +1 -0
  248. package/dist/src/sources/registry.d.ts +118 -0
  249. package/dist/src/sources/registry.d.ts.map +1 -0
  250. package/dist/src/sources/registry.js +193 -0
  251. package/dist/src/sources/registry.js.map +1 -0
  252. package/dist/src/sources/rest/descriptor.d.ts +16 -0
  253. package/dist/src/sources/rest/descriptor.d.ts.map +1 -0
  254. package/dist/src/sources/rest/descriptor.js +71 -0
  255. package/dist/src/sources/rest/descriptor.js.map +1 -0
  256. package/dist/src/sources/rest/index.d.ts +14 -0
  257. package/dist/src/sources/rest/index.d.ts.map +1 -0
  258. package/dist/src/sources/rest/index.js +13 -0
  259. package/dist/src/sources/rest/index.js.map +1 -0
  260. package/dist/src/sources/rest/mapping.d.ts +30 -0
  261. package/dist/src/sources/rest/mapping.d.ts.map +1 -0
  262. package/dist/src/sources/rest/mapping.js +362 -0
  263. package/dist/src/sources/rest/mapping.js.map +1 -0
  264. package/dist/src/sources/rest/openalex.d.ts +27 -0
  265. package/dist/src/sources/rest/openalex.d.ts.map +1 -0
  266. package/dist/src/sources/rest/openalex.js +269 -0
  267. package/dist/src/sources/rest/openalex.js.map +1 -0
  268. package/dist/src/sources/rest/paging.d.ts +53 -0
  269. package/dist/src/sources/rest/paging.d.ts.map +1 -0
  270. package/dist/src/sources/rest/paging.js +138 -0
  271. package/dist/src/sources/rest/paging.js.map +1 -0
  272. package/dist/src/sources/rest/params.d.ts +216 -0
  273. package/dist/src/sources/rest/params.d.ts.map +1 -0
  274. package/dist/src/sources/rest/params.js +7 -0
  275. package/dist/src/sources/rest/params.js.map +1 -0
  276. package/dist/src/sources/rest/records.d.ts +41 -0
  277. package/dist/src/sources/rest/records.d.ts.map +1 -0
  278. package/dist/src/sources/rest/records.js +240 -0
  279. package/dist/src/sources/rest/records.js.map +1 -0
  280. package/dist/src/sources/rest/samples/deps-dev.d.ts +10 -0
  281. package/dist/src/sources/rest/samples/deps-dev.d.ts.map +1 -0
  282. package/dist/src/sources/rest/samples/deps-dev.js +47 -0
  283. package/dist/src/sources/rest/samples/deps-dev.js.map +1 -0
  284. package/dist/src/sources/rest/samples/string.d.ts +9 -0
  285. package/dist/src/sources/rest/samples/string.d.ts.map +1 -0
  286. package/dist/src/sources/rest/samples/string.js +42 -0
  287. package/dist/src/sources/rest/samples/string.js.map +1 -0
  288. package/dist/src/sources/rest/selectors.d.ts +41 -0
  289. package/dist/src/sources/rest/selectors.d.ts.map +1 -0
  290. package/dist/src/sources/rest/selectors.js +81 -0
  291. package/dist/src/sources/rest/selectors.js.map +1 -0
  292. package/dist/src/sources/rest/source.d.ts +67 -0
  293. package/dist/src/sources/rest/source.d.ts.map +1 -0
  294. package/dist/src/sources/rest/source.js +635 -0
  295. package/dist/src/sources/rest/source.js.map +1 -0
  296. package/dist/src/sources/rest/templates.d.ts +38 -0
  297. package/dist/src/sources/rest/templates.d.ts.map +1 -0
  298. package/dist/src/sources/rest/templates.js +125 -0
  299. package/dist/src/sources/rest/templates.js.map +1 -0
  300. package/dist/src/sources/run.d.ts +93 -0
  301. package/dist/src/sources/run.d.ts.map +1 -0
  302. package/dist/src/sources/run.js +673 -0
  303. package/dist/src/sources/run.js.map +1 -0
  304. package/dist/src/sources/sha256.d.ts +12 -0
  305. package/dist/src/sources/sha256.d.ts.map +1 -0
  306. package/dist/src/sources/sha256.js +95 -0
  307. package/dist/src/sources/sha256.js.map +1 -0
  308. package/dist/src/sources/sigv4.d.ts +24 -0
  309. package/dist/src/sources/sigv4.d.ts.map +1 -0
  310. package/dist/src/sources/sigv4.js +182 -0
  311. package/dist/src/sources/sigv4.js.map +1 -0
  312. package/dist/src/sources/testing.d.ts +96 -0
  313. package/dist/src/sources/testing.d.ts.map +1 -0
  314. package/dist/src/sources/testing.js +138 -0
  315. package/dist/src/sources/testing.js.map +1 -0
  316. package/dist/src/sources/types.d.ts +665 -0
  317. package/dist/src/sources/types.d.ts.map +1 -0
  318. package/dist/src/sources/types.js +10 -0
  319. package/dist/src/sources/types.js.map +1 -0
  320. package/dist/src/styles/canon/enums.d.ts.map +1 -1
  321. package/dist/src/styles/canon/enums.js +1 -0
  322. package/dist/src/styles/canon/enums.js.map +1 -1
  323. package/dist/src/styles/cyjs/cascade.d.ts.map +1 -1
  324. package/dist/src/styles/cyjs/cascade.js +68 -2
  325. package/dist/src/styles/cyjs/cascade.js.map +1 -1
  326. package/dist/src/styles/cyjs/defaults-table.d.ts.map +1 -1
  327. package/dist/src/styles/cyjs/defaults-table.js +2 -0
  328. package/dist/src/styles/cyjs/defaults-table.js.map +1 -1
  329. package/dist/src/styles/cyjs/emit.d.ts.map +1 -1
  330. package/dist/src/styles/cyjs/emit.js +18 -7
  331. package/dist/src/styles/cyjs/emit.js.map +1 -1
  332. package/dist/src/styles/cyjs/mappers.d.ts +4 -1
  333. package/dist/src/styles/cyjs/mappers.d.ts.map +1 -1
  334. package/dist/src/styles/cyjs/mappers.js +2 -0
  335. package/dist/src/styles/cyjs/mappers.js.map +1 -1
  336. package/dist/src/styles/cytoscape/emit.d.ts.map +1 -1
  337. package/dist/src/styles/cytoscape/emit.js +59 -7
  338. package/dist/src/styles/cytoscape/emit.js.map +1 -1
  339. package/dist/src/styles/cytoscape/lexicon.d.ts +6 -0
  340. package/dist/src/styles/cytoscape/lexicon.d.ts.map +1 -1
  341. package/dist/src/styles/cytoscape/lexicon.js +26 -2
  342. package/dist/src/styles/cytoscape/lexicon.js.map +1 -1
  343. package/dist/src/styles/cytoscape/resolve.d.ts +4 -1
  344. package/dist/src/styles/cytoscape/resolve.d.ts.map +1 -1
  345. package/dist/src/styles/cytoscape/resolve.js +10 -6
  346. package/dist/src/styles/cytoscape/resolve.js.map +1 -1
  347. package/dist/src/styles/cytoscape/translate.d.ts.map +1 -1
  348. package/dist/src/styles/cytoscape/translate.js +10 -10
  349. package/dist/src/styles/cytoscape/translate.js.map +1 -1
  350. package/dist/src/styles/defaults.d.ts +30 -0
  351. package/dist/src/styles/defaults.d.ts.map +1 -1
  352. package/dist/src/styles/defaults.js +45 -4
  353. package/dist/src/styles/defaults.js.map +1 -1
  354. package/dist/src/styles/io/block.d.ts.map +1 -1
  355. package/dist/src/styles/io/block.js +9 -0
  356. package/dist/src/styles/io/block.js.map +1 -1
  357. package/dist/src/styles/io/writer.d.ts.map +1 -1
  358. package/dist/src/styles/io/writer.js +7 -3
  359. package/dist/src/styles/io/writer.js.map +1 -1
  360. package/dist/src/styles/plan/resolve.d.ts +2 -1
  361. package/dist/src/styles/plan/resolve.d.ts.map +1 -1
  362. package/dist/src/styles/plan/resolve.js +13 -2
  363. package/dist/src/styles/plan/resolve.js.map +1 -1
  364. package/dist/src/styles/types.d.ts +19 -2
  365. package/dist/src/styles/types.d.ts.map +1 -1
  366. package/dist/src/styles/vocabulary.d.ts.map +1 -1
  367. package/dist/src/styles/vocabulary.js +15 -1
  368. package/dist/src/styles/vocabulary.js.map +1 -1
  369. package/dist/src/types.d.ts +19 -5
  370. package/dist/src/types.d.ts.map +1 -1
  371. package/dist/src/types.js.map +1 -1
  372. package/dist/styles.js +11 -11
  373. package/dist/xgmml.js +3 -3
  374. package/docs/samples/people.json +6 -0
  375. package/package.json +29 -4
  376. package/src/common/report.ts +27 -7
  377. package/src/formats/cx/styles.ts +1 -0
  378. package/src/formats/dot/styles.ts +3 -1
  379. package/src/formats/gexf/styles.ts +185 -37
  380. package/src/formats/gml/styles.ts +5 -4
  381. package/src/formats/graphml/styles-plain.ts +3 -9
  382. package/src/formats/graphml/styles-yed.ts +93 -20
  383. package/src/formats/pajek/styles.ts +1 -0
  384. package/src/formats/xgmml/styles.ts +1 -0
  385. package/src/index.ts +90 -0
  386. package/src/registry.ts +326 -1
  387. package/src/sources/builtins.ts +56 -0
  388. package/src/sources/codes.ts +235 -0
  389. package/src/sources/context.ts +893 -0
  390. package/src/sources/credentials.ts +409 -0
  391. package/src/sources/cypher/descriptor.ts +125 -0
  392. package/src/sources/cypher/flatten.ts +323 -0
  393. package/src/sources/cypher/index.ts +498 -0
  394. package/src/sources/cypher/params.ts +41 -0
  395. package/src/sources/cypher/profiles.ts +78 -0
  396. package/src/sources/cypher/query-builder.ts +294 -0
  397. package/src/sources/cypher/transports/bolt.ts +228 -0
  398. package/src/sources/cypher/transports/neptune-analytics.ts +41 -0
  399. package/src/sources/cypher/transports/neptune-https.ts +122 -0
  400. package/src/sources/cypher/transports/query-api.ts +100 -0
  401. package/src/sources/cypher/transports/transport.ts +139 -0
  402. package/src/sources/cypher/types-map.ts +418 -0
  403. package/src/sources/define.ts +195 -0
  404. package/src/sources/fail.ts +70 -0
  405. package/src/sources/ids.ts +74 -0
  406. package/src/sources/ndex/client.ts +102 -0
  407. package/src/sources/ndex/descriptor.ts +64 -0
  408. package/src/sources/ndex/expand.ts +100 -0
  409. package/src/sources/ndex/index.ts +235 -0
  410. package/src/sources/ndex/params.ts +17 -0
  411. package/src/sources/ndex/share-url.ts +84 -0
  412. package/src/sources/params.ts +29 -0
  413. package/src/sources/registry.ts +325 -0
  414. package/src/sources/rest/descriptor.ts +74 -0
  415. package/src/sources/rest/index.ts +22 -0
  416. package/src/sources/rest/mapping.ts +401 -0
  417. package/src/sources/rest/openalex.ts +288 -0
  418. package/src/sources/rest/paging.ts +180 -0
  419. package/src/sources/rest/params.ts +243 -0
  420. package/src/sources/rest/records.ts +289 -0
  421. package/src/sources/rest/samples/deps-dev.ts +49 -0
  422. package/src/sources/rest/samples/string.ts +44 -0
  423. package/src/sources/rest/selectors.ts +91 -0
  424. package/src/sources/rest/source.ts +760 -0
  425. package/src/sources/rest/templates.ts +151 -0
  426. package/src/sources/run.ts +793 -0
  427. package/src/sources/sha256.ts +99 -0
  428. package/src/sources/sigv4.ts +207 -0
  429. package/src/sources/testing.ts +210 -0
  430. package/src/sources/types.ts +741 -0
  431. package/src/styles/canon/enums.ts +1 -0
  432. package/src/styles/cyjs/cascade.ts +81 -2
  433. package/src/styles/cyjs/defaults-table.ts +2 -0
  434. package/src/styles/cyjs/emit.ts +18 -7
  435. package/src/styles/cyjs/mappers.ts +6 -1
  436. package/src/styles/cytoscape/emit.ts +61 -7
  437. package/src/styles/cytoscape/lexicon.ts +28 -2
  438. package/src/styles/cytoscape/resolve.ts +22 -6
  439. package/src/styles/cytoscape/translate.ts +11 -11
  440. package/src/styles/defaults.ts +93 -4
  441. package/src/styles/io/block.ts +10 -0
  442. package/src/styles/io/writer.ts +8 -3
  443. package/src/styles/plan/resolve.ts +14 -2
  444. package/src/styles/types.ts +28 -2
  445. package/src/styles/vocabulary.ts +15 -1
  446. package/src/types.ts +19 -5
  447. package/dist/chunks/block-DiGq58c3.js.map +0 -1
  448. package/dist/chunks/emit-CwU8cUmG.js.map +0 -1
  449. package/dist/chunks/export-BvqAXCKh.js.map +0 -1
  450. package/dist/chunks/format-BpQBx8MZ.js.map +0 -1
  451. package/dist/chunks/importer-BSvfrX_h.js.map +0 -1
  452. package/dist/chunks/importer-CMmeMWlC.js.map +0 -1
  453. package/dist/chunks/importer-COTK9Tsl.js.map +0 -1
  454. package/dist/chunks/importer-DiZRmOQG.js.map +0 -1
  455. package/dist/chunks/importer-e6LGpqHB.js.map +0 -1
  456. package/dist/chunks/lexicon-CT69Kd87.js.map +0 -1
  457. package/dist/chunks/styles-BQnsga7p.js.map +0 -1
  458. package/dist/chunks/styles-D3fRphrO.js.map +0 -1
  459. package/dist/chunks/styles-yed-BF5x3_Y5.js.map +0 -1
  460. package/dist/chunks/writer-DMKvthQE.js.map +0 -1
@@ -0,0 +1,191 @@
1
+ /**
2
+ * `@graphty/graph-io/sources/ndex`: the NDEx source (design section 12.1). Experimental.
3
+ *
4
+ * - load: the network's summary first (counts, download size, modification time), checked against
5
+ * the caps before a byte of the network is read; then the CX2 (or CX) download, streamed into
6
+ * the CX2 (or CX) importer.
7
+ * - probe: the summary. list: NDEx's v2 network search. validate: the summary's modificationTime.
8
+ * - expand: NDEx's neighborhood query (`expand.ts`).
9
+ *
10
+ * Errors are classified by status; a body is read only from a 401, 403 or 404 (NDEx's own
11
+ * `errorCode`, passed through as `serverCode`), so a 500 with a Java stack trace never reaches a
12
+ * report.
13
+ * @module @graphty/graph-io/sources/ndex
14
+ */
15
+ import { defineSource } from "../define.js";
16
+ import { failOn } from "../fail.js";
17
+ import { NDEX_SOURCE_ID } from "../ids.js";
18
+ import { checkedUuid, checkEndpoint, ndexFetch } from "./client.js";
19
+ import { NDEX_DESCRIPTOR } from "./descriptor.js";
20
+ import { expandNdex } from "./expand.js";
21
+ export { NDEX_DESCRIPTOR } from "./descriptor.js";
22
+ export { parseShareUrl } from "./share-url.js";
23
+ /**
24
+ * Read a network's summary.
25
+ * @param uuid - the checked UUID
26
+ * @param ctx - the context
27
+ * @returns the summary and the bytes it took
28
+ */
29
+ async function readSummary(uuid, ctx) {
30
+ const response = await ndexFetch(ctx, `v3/networks/${uuid}/summary`, uuid, {
31
+ headers: { Accept: "application/json" },
32
+ });
33
+ const text = await response.text();
34
+ try {
35
+ return { summary: JSON.parse(text), bytes: new TextEncoder().encode(text).byteLength };
36
+ }
37
+ catch {
38
+ return failOn(ctx.report, "E_SOURCE_RESPONSE", "the NDEx summary is not JSON", {
39
+ expected: "json",
40
+ contentType: response.headers.get("content-type"),
41
+ });
42
+ }
43
+ }
44
+ /**
45
+ * An NDEx time (epoch milliseconds) as an ISO string.
46
+ * @param ms - the time
47
+ * @returns the ISO string, or undefined
48
+ */
49
+ function iso(ms) {
50
+ return typeof ms === "number" && Number.isFinite(ms) ? new Date(ms).toISOString() : undefined;
51
+ }
52
+ /**
53
+ * The download size the summary gives for a format.
54
+ * @param summary - the summary
55
+ * @param format - "cx2" or "cx"
56
+ * @returns the size in bytes, or undefined
57
+ */
58
+ function sizeOf(summary, format) {
59
+ return format === "cx" ? summary.cxFileSize : summary.cx2FileSize;
60
+ }
61
+ /**
62
+ * Stop the load before its first byte when the summary says a cap would cut it: a network file cut
63
+ * short is not a graph, so this is E_SOURCE_LIMIT under either `onLimit`.
64
+ * @param summary - the summary
65
+ * @param format - the download format
66
+ * @param ctx - the context
67
+ */
68
+ function checkCaps(summary, format, ctx) {
69
+ const caps = [
70
+ ["maxNodes", summary.nodeCount, ctx.limits.maxNodes],
71
+ ["maxEdges", summary.edgeCount, ctx.limits.maxEdges],
72
+ ["maxBytes", sizeOf(summary, format), ctx.limits.maxBytes],
73
+ ];
74
+ for (const [limit, value, cap] of caps) {
75
+ if (value !== undefined && cap !== undefined && value > cap) {
76
+ failOn(ctx.report, "E_SOURCE_LIMIT", `the network's ${limit} of ${String(value)} is over the cap`, {
77
+ limit,
78
+ value,
79
+ });
80
+ }
81
+ }
82
+ }
83
+ /**
84
+ * The graph facts a summary adds: when it changed, and who may use it.
85
+ * @param summary - the summary
86
+ * @returns the facts
87
+ */
88
+ function metaOf(summary) {
89
+ const meta = {};
90
+ const modified = iso(summary.modificationTime);
91
+ if (modified !== undefined) {
92
+ meta.modified = modified;
93
+ }
94
+ if (typeof summary.visibility === "string") {
95
+ meta.visibility = summary.visibility;
96
+ }
97
+ for (const key of ["rights", "rightsHolder"]) {
98
+ const value = summary.properties?.[key]?.v;
99
+ if (typeof value === "string") {
100
+ meta[key] = value;
101
+ }
102
+ }
103
+ return meta;
104
+ }
105
+ /**
106
+ * The validators of a summary.
107
+ * @param summary - the summary
108
+ * @returns `{ modified }` when NDEx gave a modification time
109
+ */
110
+ function validatorsOf(summary) {
111
+ const modified = iso(summary.modificationTime);
112
+ return modified === undefined ? {} : { modified };
113
+ }
114
+ /**
115
+ * The NDEx source. Experimental.
116
+ * @category Network sources
117
+ */
118
+ export const ndexSource = defineSource({
119
+ id: NDEX_SOURCE_ID,
120
+ descriptor: NDEX_DESCRIPTOR,
121
+ async file(params, ctx) {
122
+ const uuid = checkedUuid(params.uuid, ctx);
123
+ const format = params.format ?? "cx2";
124
+ const { summary, bytes } = await readSummary(uuid, ctx);
125
+ checkCaps(summary, format, ctx);
126
+ const size = sizeOf(summary, format);
127
+ // progress counts every byte read, the summary's included
128
+ ctx.progress(bytes, size === undefined ? undefined : bytes + size, "bytes");
129
+ // records the validators in report.source; the file path keeps them
130
+ ctx.finish({ validators: validatorsOf(summary) });
131
+ const path = format === "cx" ? `v2/network/${uuid}` : `v3/networks/${uuid}`;
132
+ const body = await ndexFetch(ctx, path, uuid);
133
+ return { body, format, meta: metaOf(summary) };
134
+ },
135
+ async probe(params, ctx) {
136
+ const uuid = checkedUuid(params.uuid, ctx);
137
+ const { summary } = await readSummary(uuid, ctx);
138
+ return {
139
+ ok: true,
140
+ counts: {
141
+ nodes: summary.nodeCount,
142
+ edges: summary.edgeCount,
143
+ bytes: sizeOf(summary, params.format ?? "cx2"),
144
+ },
145
+ };
146
+ },
147
+ async list(query, ctx) {
148
+ checkEndpoint(ctx);
149
+ const start = Number(query.cursor?.start ?? 0);
150
+ const size = query.size ?? 25;
151
+ const body = await ctx.fetchJson(`v2/search/network?start=${String(start)}&size=${String(size)}`, {
152
+ method: "POST",
153
+ idempotent: true,
154
+ headers: { "Content-Type": "application/json" },
155
+ body: JSON.stringify({ searchString: query.search ?? "" }),
156
+ });
157
+ const networks = Array.isArray(body.networks)
158
+ ? body.networks
159
+ : failOn(ctx.report, "E_SOURCE_RESPONSE", "the NDEx search answer has no networks", {
160
+ expected: "ndex-search",
161
+ contentType: "application/json",
162
+ });
163
+ const { numFound } = body;
164
+ const items = networks.flatMap((n) => typeof n.externalId === "string"
165
+ ? [
166
+ {
167
+ params: { uuid: n.externalId },
168
+ name: n.name ?? n.externalId,
169
+ nodeCount: n.nodeCount,
170
+ edgeCount: n.edgeCount,
171
+ modified: iso(n.modificationTime),
172
+ },
173
+ ]
174
+ : []);
175
+ const total = typeof numFound === "number" ? numFound : undefined;
176
+ const more = total === undefined ? networks.length === size : start + networks.length < total;
177
+ return { items, next: more && networks.length > 0 ? { start: start + networks.length } : null, total };
178
+ },
179
+ async validate(params, seen, ctx) {
180
+ const uuid = checkedUuid(params.uuid, ctx);
181
+ const validators = validatorsOf((await readSummary(uuid, ctx)).summary);
182
+ if (seen.modified === undefined || validators.modified === undefined) {
183
+ return { status: "unverifiable", validators };
184
+ }
185
+ return seen.modified === validators.modified
186
+ ? { status: "current", via: "modified", validators }
187
+ : { status: "changed", via: "modified", changedAt: validators.modified, validators };
188
+ },
189
+ expand: expandNdex,
190
+ });
191
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sources/ndex/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAU3C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAsB,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAuBnE;;;;;GAKG;AACH,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,GAAkB;IACvD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,eAAe,IAAI,UAAU,EAAE,IAAI,EAAE;QACvE,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;KAC1C,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,EAAE,KAAK,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;IAC1G,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,8BAA8B,EAAE;YAC3E,QAAQ,EAAE,MAAM;YAChB,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;SACpD,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,GAAG,CAAC,EAAsB;IAC/B,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAClG,CAAC;AAED;;;;;GAKG;AACH,SAAS,MAAM,CAAC,OAAoB,EAAE,MAAc;IAChD,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;AACtE,CAAC;AAED;;;;;;GAMG;AACH,SAAS,SAAS,CAAC,OAAoB,EAAE,MAAc,EAAE,GAAkB;IACvE,MAAM,IAAI,GAAuD;QAC7D,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;QACpD,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;QACpD,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;KAC7D,CAAC;IACF,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;YAC1D,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,KAAK,OAAO,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC/F,KAAK;gBACL,KAAK;aACR,CAAC,CAAC;QACP,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,MAAM,CAAC,OAAoB;IAChC,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACzC,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,OAAoB;IACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/C,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAA4B,YAAY,CAAa;IACxE,EAAE,EAAE,cAAc;IAClB,UAAU,EAAE,eAAe;IAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG;QAClB,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC;QACtC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACxD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACrC,0DAA0D;QAC1D,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5E,oEAAoE;QACpE,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC;QAC5E,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACnD,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG;QACnB,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjD,OAAO;YACH,EAAE,EAAE,IAAI;YACR,MAAM,EAAE;gBACJ,KAAK,EAAE,OAAO,CAAC,SAAS;gBACxB,KAAK,EAAE,OAAO,CAAC,SAAS;gBACxB,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC;aACjD;SACJ,CAAC;IACN,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,KAAkC,EAAE,GAAG;QAC9C,aAAa,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,SAAS,CAC5B,2BAA2B,MAAM,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,EAAE,EAC/D;YACI,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;SAC7D,CACJ,CAAC;QACF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YACzC,CAAC,CAAE,IAAI,CAAC,QAAqC;YAC7C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,wCAAwC,EAAE;gBAC9E,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,kBAAkB;aAClC,CAAC,CAAC;QACT,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACjC,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ;YAC5B,CAAC,CAAC;gBACI;oBACI,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE;oBAC9B,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU;oBAC5B,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC;iBACpC;aACJ;YACH,CAAC,CAAC,EAAE,CACX,CAAC;QACF,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,MAAM,IAAI,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC;QAC9F,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;IAC3G,CAAC;IACD,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG;QAC5B,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC,QAAQ;YACxC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE;YACpD,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;IAC7F,CAAC;IACD,MAAM,EAAE,UAAU;CACrB,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The parameters of the NDEx source (design section 12.1). Experimental. The NDEx work may add
3
+ * optional fields only.
4
+ */
5
+ /**
6
+ * What to load from NDEx. Experimental.
7
+ * @category Network sources
8
+ */
9
+ export interface NdexParams {
10
+ /** The network's UUID ("86719f5b-1439-11f0-9806-005056ae3c32"). */
11
+ readonly uuid: string;
12
+ /** The download format. @defaultValue "cx2" */
13
+ readonly format?: "cx2" | "cx" | undefined;
14
+ /** The node attribute that identifies a node across NDEx's two id spaces (for expand): "name", "represents". */
15
+ readonly idAttribute?: string | undefined;
16
+ }
17
+ //# sourceMappingURL=params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../../../src/sources/ndex/params.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,UAAU;IACvB,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,gHAAgH;IAChH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The parameters of the NDEx source (design section 12.1). Experimental. The NDEx work may add
3
+ * optional fields only.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.js","sourceRoot":"","sources":["../../../../src/sources/ndex/params.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * NDEx share links: a network's page or API URL, possibly carrying a link-share access key.
3
+ */
4
+ import { type Credential } from "../types.js";
5
+ /**
6
+ * What a share link says: the network, the NDEx server, and the access key as a credential.
7
+ * Experimental.
8
+ * @category Network sources
9
+ */
10
+ export interface NdexShareLink {
11
+ /** The params to load the network with. */
12
+ readonly params: {
13
+ /** The network's NDEx id. */
14
+ readonly uuid: string;
15
+ };
16
+ /** The NDEx server the link points at ("https://www.ndexbio.org/"). */
17
+ readonly endpoint: string;
18
+ /** The link's access key, sent only to that server; absent when the link has none. */
19
+ readonly credential?: Credential | undefined;
20
+ }
21
+ /**
22
+ * Read an NDEx share link (`https://www.ndexbio.org/viewer/networks/<uuid>?accesskey=<key>`, the
23
+ * older `#/network/<uuid>` form, or an API URL). The access key leaves the URL and becomes a
24
+ * credential bound to the link's server, so it is never logged or stored with the params.
25
+ * Rejects with `E_SOURCE_PARAM` (`name: "url"`): `reason: "format"` when the text is not a URL
26
+ * naming a network, `"credentials-in-url"` when it carries a user name or password. Experimental.
27
+ * @param url - the link
28
+ * @returns the params, endpoint and credential to load it with
29
+ * @example
30
+ * ```ts
31
+ * const link = parseShareUrl(sharedUrl);
32
+ * const { snapshot } = await loadFromSource("ndex", link.params, {
33
+ * endpoint: link.endpoint,
34
+ * credential: link.credential,
35
+ * });
36
+ * ```
37
+ * @category Network sources
38
+ */
39
+ export declare function parseShareUrl(url: string | URL): NdexShareLink;
40
+ //# sourceMappingURL=share-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share-url.d.ts","sourceRoot":"","sources":["../../../../src/sources/ndex/share-url.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9C;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE;QACb,6BAA6B;QAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sFAAsF;IACtF,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,aAAa,CA0B9D"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * NDEx share links: a network's page or API URL, possibly carrying a link-share access key.
3
+ */
4
+ import { credentials } from "../credentials.js";
5
+ import { failAlone } from "../fail.js";
6
+ import { NDEX_SOURCE_ID } from "../ids.js";
7
+ import { ACCESS_KEY_QUERY } from "./client.js";
8
+ /** A network UUID anywhere in a URL's path or hash. */
9
+ const UUID_IN_URL = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;
10
+ /**
11
+ * Read an NDEx share link (`https://www.ndexbio.org/viewer/networks/<uuid>?accesskey=<key>`, the
12
+ * older `#/network/<uuid>` form, or an API URL). The access key leaves the URL and becomes a
13
+ * credential bound to the link's server, so it is never logged or stored with the params.
14
+ * Rejects with `E_SOURCE_PARAM` (`name: "url"`): `reason: "format"` when the text is not a URL
15
+ * naming a network, `"credentials-in-url"` when it carries a user name or password. Experimental.
16
+ * @param url - the link
17
+ * @returns the params, endpoint and credential to load it with
18
+ * @example
19
+ * ```ts
20
+ * const link = parseShareUrl(sharedUrl);
21
+ * const { snapshot } = await loadFromSource("ndex", link.params, {
22
+ * endpoint: link.endpoint,
23
+ * credential: link.credential,
24
+ * });
25
+ * ```
26
+ * @category Network sources
27
+ */
28
+ export function parseShareUrl(url) {
29
+ let parsed;
30
+ try {
31
+ parsed = new URL(url);
32
+ }
33
+ catch {
34
+ return refuse("format");
35
+ }
36
+ if (parsed.username !== "" || parsed.password !== "") {
37
+ return refuse("credentials-in-url");
38
+ }
39
+ // the older viewer keeps the network and its key in the hash
40
+ const hash = new URL(parsed.hash.replace(/^#/, ""), "https://hash.invalid/");
41
+ const uuid = UUID_IN_URL.exec(`${parsed.pathname} ${hash.pathname}`)?.[0];
42
+ if (uuid === undefined || (parsed.protocol !== "https:" && parsed.protocol !== "http:")) {
43
+ return refuse("format");
44
+ }
45
+ // the bare host redirects to www without CORS headers, so a page cannot follow it
46
+ const host = parsed.host.toLowerCase() === "ndexbio.org" ? "www.ndexbio.org" : parsed.host;
47
+ const endpoint = `${parsed.protocol}//${host}/`;
48
+ const key = parsed.searchParams.get(ACCESS_KEY_QUERY) ?? hash.searchParams.get(ACCESS_KEY_QUERY);
49
+ const params = { uuid: uuid.toLowerCase() };
50
+ if (key === null || key === "") {
51
+ return { params, endpoint };
52
+ }
53
+ const credential = credentials.apiKey({ query: ACCESS_KEY_QUERY }, key, { origins: [new URL(endpoint).origin] });
54
+ return { params, endpoint, credential };
55
+ }
56
+ /**
57
+ * Reject a share link.
58
+ * @param reason - why
59
+ * @returns never
60
+ */
61
+ function refuse(reason) {
62
+ return failAlone("E_SOURCE_PARAM", "not an NDEx share link", { name: "url", reason }, `source:${NDEX_SOURCE_ID}`);
63
+ }
64
+ //# sourceMappingURL=share-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share-url.js","sourceRoot":"","sources":["../../../../src/sources/ndex/share-url.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,uDAAuD;AACvD,MAAM,WAAW,GAAG,+DAA+D,CAAC;AAmBpF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,aAAa,CAAC,GAAiB;IAC3C,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACD,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IACD,6DAA6D;IAC7D,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;QACtF,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IACD,kFAAkF;IAClF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;IAC3F,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,QAAQ,KAAK,IAAI,GAAG,CAAC;IAChD,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjG,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;IAC5C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAChC,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,SAAS,MAAM,CAAC,MAAuC;IACnD,OAAO,SAAS,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,cAAc,EAAE,CAAC,CAAC;AACtH,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * `SourceParamsMap`: the params type of every built-in source by id, so `loadFromSource("ndex", ...)`
3
+ * type-checks its params. A consumer adds its own source by declaration merging.
4
+ */
5
+ import { type CypherParams } from "./cypher/params.js";
6
+ import { type NdexParams } from "./ndex/params.js";
7
+ import { type OpenAlexParams, type RestParams } from "./rest/params.js";
8
+ /**
9
+ * Parameter types by source id; extend it by declaration merging:
10
+ * `declare module "@graphty/graph-io" { interface SourceParamsMap { people: { team: string } } }`.
11
+ * Experimental.
12
+ * @category Network sources
13
+ */
14
+ export interface SourceParamsMap {
15
+ /** NDEx. */
16
+ ndex: NdexParams;
17
+ /** Any openCypher server. */
18
+ cypher: CypherParams;
19
+ /** Neo4j. */
20
+ neo4j: CypherParams;
21
+ /** Amazon Neptune. */
22
+ neptune: CypherParams;
23
+ /** A REST API through a mapping. */
24
+ rest: RestParams;
25
+ /** OpenAlex. */
26
+ openalex: OpenAlexParams;
27
+ }
28
+ //# sourceMappingURL=params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../../src/sources/params.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAExE;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC5B,YAAY;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,6BAA6B;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa;IACb,KAAK,EAAE,YAAY,CAAC;IACpB,sBAAsB;IACtB,OAAO,EAAE,YAAY,CAAC;IACtB,oCAAoC;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,gBAAgB;IAChB,QAAQ,EAAE,cAAc,CAAC;CAC5B"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * `SourceParamsMap`: the params type of every built-in source by id, so `loadFromSource("ndex", ...)`
3
+ * type-checks its params. A consumer adds its own source by declaration merging.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.js","sourceRoot":"","sources":["../../../src/sources/params.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * The source registry (design section 3): sources by id, in their own name space beside the
3
+ * formats. Lazy sources are registered by descriptor and load their code on first use, so listing
4
+ * sources loads none. A FormatRegistry holds one, so one object holds formats and sources.
5
+ */
6
+ import { type GraphBuilder, type GraphSink } from "@graphty/graph-format";
7
+ import { type FormatRegistry, type ImportGraphResult } from "../registry.js";
8
+ import { type ImportReport } from "../types.js";
9
+ import { type ExpandRequest, type GraphSource, type LazySource, type LoadFromSourceOptions, type SourceFreshness, type SourceInfo, type SourceListing, type SourceListQuery, type SourceProbe, type SourceValidators } from "./types.js";
10
+ /** What a SourceRegistry borrows from its FormatRegistry: building and freezing a graph. */
11
+ interface SourceBuilding {
12
+ /**
13
+ * A builder seeded from the load options.
14
+ * @param options - the options
15
+ * @param format - the report format name
16
+ * @returns the builder
17
+ */
18
+ readonly newBuilder: (options: LoadFromSourceOptions, format: string) => GraphBuilder;
19
+ /**
20
+ * Freeze a filled builder into a load result.
21
+ * @param format - the result's format
22
+ * @param builder - the builder
23
+ * @param report - the report
24
+ * @param options - the options
25
+ * @returns the result
26
+ */
27
+ readonly freeze: (format: string, builder: GraphBuilder, report: ImportReport, options: LoadFromSourceOptions) => ImportGraphResult;
28
+ }
29
+ /**
30
+ * The sources of one FormatRegistry. Experimental.
31
+ * @category Network sources
32
+ */
33
+ export declare class SourceRegistry {
34
+ private readonly formats;
35
+ private readonly building;
36
+ private readonly entries;
37
+ /**
38
+ * Create one for a format registry, whose importers read `file` sources.
39
+ * @param formats - the format registry
40
+ * @param building - how it builds and freezes graphs
41
+ */
42
+ constructor(formats: FormatRegistry, building: SourceBuilding);
43
+ /**
44
+ * Register a source or a lazy source. A malformed one, or an id already taken, throws an
45
+ * ImportError with E_SOURCE_INVALID.
46
+ * @param source - the source
47
+ */
48
+ register(source: GraphSource<never> | LazySource): void;
49
+ /**
50
+ * Whether a source id is registered.
51
+ * @param id - the id
52
+ * @returns true when registered
53
+ */
54
+ has(id: string): boolean;
55
+ /**
56
+ * Every registered source, without loading any code.
57
+ * @returns one entry per source, in registration order
58
+ */
59
+ list(): readonly SourceInfo[];
60
+ /**
61
+ * A source by id, loading a lazy one; a source object passes through after its checks.
62
+ * @param source - the id or the source
63
+ * @returns the loaded source
64
+ */
65
+ resolve(source: string | GraphSource<never>): Promise<GraphSource<never>>;
66
+ /**
67
+ * Load a graph from a source.
68
+ * @param source - the id or the source
69
+ * @param params - its params
70
+ * @param options - endpoint, credential, cursor, caps and the import options
71
+ * @returns the graph and the report
72
+ */
73
+ load(source: string | GraphSource<never>, params: Readonly<Record<string, unknown>>, options?: LoadFromSourceOptions): Promise<ImportGraphResult>;
74
+ /**
75
+ * Load from a source into a sink you own.
76
+ * @param source - the id or the source
77
+ * @param params - its params
78
+ * @param sink - where to write
79
+ * @param options - the options
80
+ * @returns the report
81
+ */
82
+ import(source: string | GraphSource<never>, params: Readonly<Record<string, unknown>>, sink: GraphSink, options?: LoadFromSourceOptions): Promise<ImportReport>;
83
+ /**
84
+ * Fetch the neighborhood of some nodes: a snapshot of only what was fetched.
85
+ * @param source - the id or the source
86
+ * @param request - the seeds and how far to go
87
+ * @param options - the options
88
+ * @returns the fetched part and the report
89
+ */
90
+ expand(source: string | GraphSource<never>, request: ExpandRequest<Readonly<Record<string, unknown>>>, options?: LoadFromSourceOptions): Promise<ImportGraphResult>;
91
+ /**
92
+ * Check params and credential without loading.
93
+ * @param source - the id or the source
94
+ * @param params - its params
95
+ * @param options - the options
96
+ * @returns what the service said
97
+ */
98
+ probe(source: string | GraphSource<never>, params: Readonly<Record<string, unknown>>, options?: LoadFromSourceOptions): Promise<SourceProbe>;
99
+ /**
100
+ * Search what a source holds.
101
+ * @param source - the id or the source
102
+ * @param query - the search
103
+ * @param options - the options
104
+ * @returns one page of results
105
+ */
106
+ search(source: string | GraphSource<never>, query: SourceListQuery<Readonly<Record<string, unknown>>>, options?: LoadFromSourceOptions): Promise<SourceListing>;
107
+ /**
108
+ * Tell whether data loaded earlier changed.
109
+ * @param source - the id or the source
110
+ * @param params - the params it was loaded with
111
+ * @param seen - the validators recorded then
112
+ * @param options - the options
113
+ * @returns whether it changed
114
+ */
115
+ validate(source: string | GraphSource<never>, params: Readonly<Record<string, unknown>>, seen: SourceValidators, options?: LoadFromSourceOptions): Promise<SourceFreshness>;
116
+ }
117
+ export {};
118
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/sources/registry.ts"],"names":[],"mappings":"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"}