From 39e6481666548bed7a27c4b3912d21b01c9ac867 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Jun 2026 05:09:13 +0000 Subject: [PATCH 1/2] chore(deps): bump the cargo-dependencies group in /wasm with 3 updates Bumps the cargo-dependencies group in /wasm with 3 updates: [itertools](https://github.com/rust-itertools/itertools), [smallvec](https://github.com/servo/rust-smallvec) and [hashbrown](https://github.com/rust-lang/hashbrown). Updates `itertools` from 0.14.0 to 0.15.0 - [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-itertools/itertools/compare/v0.14.0...v0.15.0) Updates `smallvec` from 1.15.1 to 1.15.2 - [Release notes](https://github.com/servo/rust-smallvec/releases) - [Commits](https://github.com/servo/rust-smallvec/compare/v1.15.1...v1.15.2) Updates `hashbrown` from 0.16.1 to 0.17.1 - [Release notes](https://github.com/rust-lang/hashbrown/releases) - [Changelog](https://github.com/rust-lang/hashbrown/blob/main/CHANGELOG.md) - [Commits](https://github.com/rust-lang/hashbrown/compare/v0.16.1...v0.17.1) --- updated-dependencies: - dependency-name: itertools dependency-version: 0.15.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cargo-dependencies - dependency-name: smallvec dependency-version: 1.15.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-dependencies - dependency-name: hashbrown dependency-version: 0.17.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cargo-dependencies ... Signed-off-by: dependabot[bot] --- wasm/Cargo.lock | 20 +++++++------------- wasm/Cargo.toml | 4 ++-- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/wasm/Cargo.lock b/wasm/Cargo.lock index 6ea4fdb7..077aee12 100644 --- a/wasm/Cargo.lock +++ b/wasm/Cargo.lock @@ -26,7 +26,7 @@ version = "0.1.0" dependencies = [ "console_error_panic_hook", "enum_dispatch", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "indexmap", "indoc", "itertools", @@ -132,21 +132,15 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.16.1" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" dependencies = [ "allocator-api2", "equivalent", "foldhash 0.2.0", ] -[[package]] -name = "hashbrown" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" - [[package]] name = "indexmap" version = "2.14.0" @@ -177,9 +171,9 @@ dependencies = [ [[package]] name = "itertools" -version = "0.14.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +checksum = "8b4baf93f58d4425749ca49a51c50ebab072c5df6994d08fed93541c331481dc" dependencies = [ "either", ] @@ -325,9 +319,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "smallvec" -version = "1.15.1" +version = "1.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" [[package]] name = "sorted-iter" diff --git a/wasm/Cargo.toml b/wasm/Cargo.toml index 13faa1d3..b685a614 100644 --- a/wasm/Cargo.toml +++ b/wasm/Cargo.toml @@ -22,13 +22,13 @@ console_error_panic_hook = { version = "0.1.7", optional = true } petgraph = "0.8.1" web-time = "1.1.0" js-sys = "0.3.77" -itertools = "0.14.0" +itertools = "0.15.0" serde = { version = "1.0", features = ["derive"] } serde-wasm-bindgen = "0.6.5" smallvec = "1.15.0" vec-collections = "0.4.3" enum_dispatch = "0.3.13" -hashbrown = "0.16.1" +hashbrown = "0.17.1" indoc = "2.0.6" indexmap = "2.14.0" From bdd1f69060d3bc7cda78c16222d54c5af7ed1eb7 Mon Sep 17 00:00:00 2001 From: Michael Porter Date: Wed, 17 Jun 2026 07:48:34 -0400 Subject: [PATCH 2/2] chore(wasm): regenerate pkg for cargo dependency bumps --- wasm/pkg/breadcrumbs_graph_wasm.d.ts | 242 +++++++++---------- wasm/pkg/breadcrumbs_graph_wasm.js | 113 ++++----- wasm/pkg/breadcrumbs_graph_wasm_bg.wasm | Bin 322907 -> 322158 bytes wasm/pkg/breadcrumbs_graph_wasm_bg.wasm.d.ts | 220 ++++++++--------- 4 files changed, 288 insertions(+), 287 deletions(-) diff --git a/wasm/pkg/breadcrumbs_graph_wasm.d.ts b/wasm/pkg/breadcrumbs_graph_wasm.d.ts index 791b25aa..4ccdbe2a 100644 --- a/wasm/pkg/breadcrumbs_graph_wasm.d.ts +++ b/wasm/pkg/breadcrumbs_graph_wasm.d.ts @@ -181,17 +181,6 @@ export class NodeStringifyOptions { export class NoteGraph { private constructor(); free(): void; - /** - * Runs a recursive traversal of the graph. - */ - rec_traverse(options: TraversalOptions): TraversalResult; - /** - * Runs a recursive traversal of the graph and post-processes the result. - * The post-processed result is more efficient to work with from - * JavaScript. - */ - rec_traverse_and_process(options: TraversalOptions, postprocess_options: TraversalPostprocessOptions): FlatTraversalResult; - generate_mermaid_graph(traversal_options: TraversalOptions, diagram_options: MermaidGraphOptions): MermaidGraphData; /** * Returns all edge types that are present in the graph. */ @@ -257,6 +246,17 @@ export class NoteGraph { * Checks if a node exists in the graph. */ has_node(node: string): boolean; + generate_mermaid_graph(traversal_options: TraversalOptions, diagram_options: MermaidGraphOptions): MermaidGraphData; + /** + * Runs a recursive traversal of the graph. + */ + rec_traverse(options: TraversalOptions): TraversalResult; + /** + * Runs a recursive traversal of the graph and post-processes the result. + * The post-processed result is more efficient to work with from + * JavaScript. + */ + rec_traverse_and_process(options: TraversalOptions, postprocess_options: TraversalPostprocessOptions): FlatTraversalResult; } export class NoteGraphError { free(): void; @@ -398,14 +398,48 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl export interface InitOutput { readonly memory: WebAssembly.Memory; + readonly __wbg_batchgraphupdate_free: (a: number, b: number) => void; + readonly batchgraphupdate_new: () => number; readonly __wbg_edgesorter_free: (a: number, b: number) => void; readonly create_edge_sorter: (a: number, b: number, c: number) => [number, number, number]; readonly sort_edges: (a: number, b: number, c: number, d: number) => [number, number, number, number]; readonly sort_traversal_data: (a: number, b: number, c: number, d: number) => [number, number, number, number]; - readonly __wbg_transitivegraphrule_free: (a: number, b: number) => void; - readonly transitivegraphrule_create_example_graph: (a: number) => [number, number, number]; - readonly transitivegraphrule_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number; - readonly transitivegraphrule_toString: (a: number) => [number, number]; + readonly __wbg_addedgegraphupdate_free: (a: number, b: number) => void; + readonly __wbg_addnotegraphupdate_free: (a: number, b: number) => void; + readonly __wbg_removeedgegraphupdate_free: (a: number, b: number) => void; + readonly __wbg_removenotegraphupdate_free: (a: number, b: number) => void; + readonly __wbg_renamenotegraphupdate_free: (a: number, b: number) => void; + readonly __wbg_transitiverulesgraphupdate_free: (a: number, b: number) => void; + readonly addedgegraphupdate_add_to_batch: (a: number, b: number) => void; + readonly addedgegraphupdate_new: (a: number) => number; + readonly addnotegraphupdate_add_to_batch: (a: number, b: number) => void; + readonly addnotegraphupdate_new: (a: number) => number; + readonly removeedgegraphupdate_add_to_batch: (a: number, b: number) => void; + readonly removeedgegraphupdate_new: (a: number, b: number, c: number, d: number, e: number, f: number) => number; + readonly removenotegraphupdate_add_to_batch: (a: number, b: number) => void; + readonly removenotegraphupdate_new: (a: number, b: number) => number; + readonly renamenotegraphupdate_add_to_batch: (a: number, b: number) => void; + readonly renamenotegraphupdate_new: (a: number, b: number, c: number, d: number) => number; + readonly transitiverulesgraphupdate_add_to_batch: (a: number, b: number) => void; + readonly transitiverulesgraphupdate_new: (a: number, b: number) => number; + readonly __wbg_notegraph_free: (a: number, b: number) => void; + readonly notegraph_apply_update: (a: number, b: number) => [number, number]; + readonly notegraph_build_graph: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number]; + readonly notegraph_edge_types: (a: number) => [number, number]; + readonly notegraph_get_filtered_grouped_outgoing_edges: (a: number, b: number, c: number, d: number, e: number) => number; + readonly notegraph_get_filtered_outgoing_edges: (a: number, b: number, c: number, d: number, e: number) => number; + readonly notegraph_get_incoming_edges: (a: number, b: number, c: number) => number; + readonly notegraph_get_node: (a: number, b: number, c: number) => number; + readonly notegraph_get_outgoing_edges: (a: number, b: number, c: number) => number; + readonly notegraph_has_node: (a: number, b: number, c: number) => number; + readonly notegraph_is_node_resolved: (a: number, b: number, c: number) => number; + readonly notegraph_iterate_edges: (a: number, b: any) => void; + readonly notegraph_iterate_nodes: (a: number, b: any) => void; + readonly notegraph_log: (a: number) => void; + readonly notegraph_new: () => number; + readonly notegraph_notify_update: (a: number) => void; + readonly notegraph_set_update_callback: (a: number, b: any) => void; + readonly create_graph: () => number; readonly __wbg_gcedgedata_free: (a: number, b: number) => void; readonly __wbg_gcnodedata_free: (a: number, b: number) => void; readonly gcedgedata_edge_source: (a: number) => [number, number]; @@ -416,6 +450,14 @@ export interface InitOutput { readonly gcedgedata_toString: (a: number) => [number, number]; readonly gcnodedata_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; readonly gcnodedata_toString: (a: number) => [number, number]; + readonly __wbg_edgedata_free: (a: number, b: number) => void; + readonly __wbg_get_edgedata_explicit: (a: number) => number; + readonly __wbg_get_edgedata_round: (a: number) => number; + readonly __wbg_set_edgedata_explicit: (a: number, b: number) => void; + readonly __wbg_set_edgedata_round: (a: number, b: number) => void; + readonly edgedata_edge_source: (a: number) => [number, number]; + readonly edgedata_edge_type: (a: number) => [number, number]; + readonly edgedata_toString: (a: number) => [number, number]; readonly __wbg_get_path_edges: (a: number) => [number, number]; readonly __wbg_path_free: (a: number, b: number) => void; readonly __wbg_pathlist_free: (a: number, b: number) => void; @@ -431,8 +473,13 @@ export interface InitOutput { readonly pathlist_select: (a: number, b: number, c: number) => number; readonly pathlist_toString: (a: number) => [number, number]; readonly pathlist_to_paths: (a: number) => [number, number]; - readonly notegraph_rec_traverse: (a: number, b: number) => [number, number, number]; - readonly notegraph_rec_traverse_and_process: (a: number, b: number, c: number) => [number, number, number]; + readonly __wbg_transitivegraphrule_free: (a: number, b: number) => void; + readonly transitivegraphrule_create_example_graph: (a: number) => [number, number, number]; + readonly transitivegraphrule_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number; + readonly transitivegraphrule_toString: (a: number) => [number, number]; + readonly __wbg_nodestringifyoptions_free: (a: number, b: number) => void; + readonly nodestringifyoptions_new: (a: number, b: number, c: number, d: number, e: number) => number; + readonly nodestringifyoptions_stringify_node: (a: number, b: number) => [number, number]; readonly __wbg_get_traversaloptions_dataview_from_paths: (a: number) => [number, number]; readonly __wbg_get_traversaloptions_edge_types: (a: number) => [number, number]; readonly __wbg_get_traversaloptions_entry_nodes: (a: number) => [number, number]; @@ -456,113 +503,10 @@ export interface InitOutput { readonly traversalpostprocessoptions_new: (a: number, b: number) => number; readonly traversalpostprocessoptions_toString: (a: number) => [number, number]; readonly traversalpostprocessoptions_without_sorter: (a: number) => number; - readonly __wbg_edgestruct_free: (a: number, b: number) => void; - readonly edgestruct_edge_data: (a: number, b: number) => [number, number, number]; - readonly edgestruct_edge_source: (a: number, b: number) => [number, number, number, number]; - readonly edgestruct_edge_type: (a: number) => [number, number]; - readonly edgestruct_explicit: (a: number, b: number) => [number, number, number]; - readonly edgestruct_get_attribute_label: (a: number, b: number, c: number, d: number) => [number, number, number, number]; - readonly edgestruct_is_self_loop: (a: number) => number; - readonly edgestruct_matches_edge_filter: (a: number, b: number, c: number, d: number) => [number, number, number]; - readonly edgestruct_round: (a: number, b: number) => [number, number, number]; - readonly edgestruct_source_data: (a: number, b: number) => [number, number, number]; - readonly edgestruct_source_path: (a: number, b: number) => [number, number, number, number]; - readonly edgestruct_source_resolved: (a: number, b: number) => [number, number, number]; - readonly edgestruct_stringify_source: (a: number, b: number, c: number) => [number, number, number, number]; - readonly edgestruct_stringify_target: (a: number, b: number, c: number) => [number, number, number, number]; - readonly edgestruct_target_data: (a: number, b: number) => [number, number, number]; - readonly edgestruct_target_path: (a: number, b: number) => [number, number, number, number]; - readonly edgestruct_target_resolved: (a: number, b: number) => [number, number, number]; - readonly edgestruct_toString: (a: number) => [number, number]; readonly __wbg_notegrapherror_free: (a: number, b: number) => void; readonly notegrapherror_message: (a: number) => [number, number]; readonly notegrapherror_new: (a: number, b: number) => number; readonly notegrapherror_toString: (a: number) => [number, number]; - readonly __wbg_get_mermaidgraphdata_mermaid: (a: number) => [number, number]; - readonly __wbg_get_mermaidgraphdata_total_time: (a: number) => bigint; - readonly __wbg_get_mermaidgraphdata_traversal_time: (a: number) => bigint; - readonly __wbg_mermaidgraphdata_free: (a: number, b: number) => void; - readonly __wbg_mermaidgraphoptions_free: (a: number, b: number) => void; - readonly __wbg_set_mermaidgraphdata_mermaid: (a: number, b: number, c: number) => void; - readonly __wbg_set_mermaidgraphdata_total_time: (a: number, b: bigint) => void; - readonly __wbg_set_mermaidgraphdata_traversal_time: (a: number, b: bigint) => void; - readonly mermaidgraphdata_toString: (a: number) => [number, number]; - readonly mermaidgraphoptions_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number) => number; - readonly mermaidgraphoptions_toString: (a: number) => [number, number]; - readonly notegraph_generate_mermaid_graph: (a: number, b: number, c: number) => [number, number, number]; - readonly __wbg_edgelist_free: (a: number, b: number) => void; - readonly __wbg_groupededgelist_free: (a: number, b: number) => void; - readonly edgelist_first: (a: number) => number; - readonly edgelist_get_edges: (a: number) => [number, number]; - readonly edgelist_get_sorted_edges: (a: number, b: number, c: number) => [number, number, number, number]; - readonly edgelist_group_by_type: (a: number) => number; - readonly edgelist_last: (a: number) => number; - readonly edgelist_toString: (a: number) => [number, number]; - readonly edgelist_to_array: (a: number) => [number, number]; - readonly groupededgelist_get_edges: (a: number, b: number, c: number) => [number, number]; - readonly groupededgelist_get_sorted_edges: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number]; - readonly groupededgelist_toString: (a: number) => [number, number]; - readonly __wbg_notegraph_free: (a: number, b: number) => void; - readonly notegraph_apply_update: (a: number, b: number) => [number, number]; - readonly notegraph_build_graph: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number]; - readonly notegraph_edge_types: (a: number) => [number, number]; - readonly notegraph_get_filtered_grouped_outgoing_edges: (a: number, b: number, c: number, d: number, e: number) => number; - readonly notegraph_get_filtered_outgoing_edges: (a: number, b: number, c: number, d: number, e: number) => number; - readonly notegraph_get_incoming_edges: (a: number, b: number, c: number) => number; - readonly notegraph_get_node: (a: number, b: number, c: number) => number; - readonly notegraph_get_outgoing_edges: (a: number, b: number, c: number) => number; - readonly notegraph_has_node: (a: number, b: number, c: number) => number; - readonly notegraph_is_node_resolved: (a: number, b: number, c: number) => number; - readonly notegraph_iterate_edges: (a: number, b: any) => void; - readonly notegraph_iterate_nodes: (a: number, b: any) => void; - readonly notegraph_log: (a: number) => void; - readonly notegraph_new: () => number; - readonly notegraph_notify_update: (a: number) => void; - readonly notegraph_set_update_callback: (a: number, b: any) => void; - readonly __wbg_batchgraphupdate_free: (a: number, b: number) => void; - readonly batchgraphupdate_new: () => number; - readonly __wbg_addedgegraphupdate_free: (a: number, b: number) => void; - readonly __wbg_addnotegraphupdate_free: (a: number, b: number) => void; - readonly __wbg_removeedgegraphupdate_free: (a: number, b: number) => void; - readonly __wbg_removenotegraphupdate_free: (a: number, b: number) => void; - readonly __wbg_renamenotegraphupdate_free: (a: number, b: number) => void; - readonly __wbg_transitiverulesgraphupdate_free: (a: number, b: number) => void; - readonly addedgegraphupdate_add_to_batch: (a: number, b: number) => void; - readonly addedgegraphupdate_new: (a: number) => number; - readonly addnotegraphupdate_add_to_batch: (a: number, b: number) => void; - readonly addnotegraphupdate_new: (a: number) => number; - readonly removeedgegraphupdate_add_to_batch: (a: number, b: number) => void; - readonly removeedgegraphupdate_new: (a: number, b: number, c: number, d: number, e: number, f: number) => number; - readonly removenotegraphupdate_add_to_batch: (a: number, b: number) => void; - readonly removenotegraphupdate_new: (a: number, b: number) => number; - readonly renamenotegraphupdate_add_to_batch: (a: number, b: number) => void; - readonly renamenotegraphupdate_new: (a: number, b: number, c: number, d: number) => number; - readonly transitiverulesgraphupdate_add_to_batch: (a: number, b: number) => void; - readonly transitiverulesgraphupdate_new: (a: number, b: number) => number; - readonly __wbg_get_nodedata_aliases: (a: number) => [number, number]; - readonly __wbg_get_nodedata_ignore_in_edges: (a: number) => number; - readonly __wbg_get_nodedata_ignore_out_edges: (a: number) => number; - readonly __wbg_get_nodedata_path: (a: number) => [number, number]; - readonly __wbg_get_nodedata_resolved: (a: number) => number; - readonly __wbg_nodedata_free: (a: number, b: number) => void; - readonly __wbg_set_nodedata_aliases: (a: number, b: number, c: number) => void; - readonly __wbg_set_nodedata_ignore_in_edges: (a: number, b: number) => void; - readonly __wbg_set_nodedata_ignore_out_edges: (a: number, b: number) => void; - readonly __wbg_set_nodedata_path: (a: number, b: number, c: number) => void; - readonly __wbg_set_nodedata_resolved: (a: number, b: number) => void; - readonly nodedata_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; - readonly nodedata_toString: (a: number) => [number, number]; - readonly __wbg_edgedata_free: (a: number, b: number) => void; - readonly __wbg_get_edgedata_explicit: (a: number) => number; - readonly __wbg_get_edgedata_round: (a: number) => number; - readonly __wbg_set_edgedata_explicit: (a: number, b: number) => void; - readonly __wbg_set_edgedata_round: (a: number, b: number) => void; - readonly edgedata_edge_source: (a: number) => [number, number]; - readonly edgedata_edge_type: (a: number) => [number, number]; - readonly edgedata_toString: (a: number) => [number, number]; - readonly __wbg_nodestringifyoptions_free: (a: number, b: number) => void; - readonly nodestringifyoptions_new: (a: number, b: number, c: number, d: number, e: number) => number; - readonly nodestringifyoptions_stringify_node: (a: number, b: number) => [number, number]; readonly __wbg_flattraversaldata_free: (a: number, b: number) => void; readonly __wbg_flattraversalresult_free: (a: number, b: number) => void; readonly __wbg_get_flattraversaldata_children: (a: number) => [number, number]; @@ -624,7 +568,63 @@ export interface InitOutput { readonly __wbg_get_traversaldata_depth: (a: number) => number; readonly __wbg_get_traversaldata_number_of_children: (a: number) => number; readonly __wbg_get_traversalresult_traversal_time: (a: number) => bigint; - readonly create_graph: () => number; + readonly __wbg_get_nodedata_aliases: (a: number) => [number, number]; + readonly __wbg_get_nodedata_ignore_in_edges: (a: number) => number; + readonly __wbg_get_nodedata_ignore_out_edges: (a: number) => number; + readonly __wbg_get_nodedata_path: (a: number) => [number, number]; + readonly __wbg_get_nodedata_resolved: (a: number) => number; + readonly __wbg_nodedata_free: (a: number, b: number) => void; + readonly __wbg_set_nodedata_aliases: (a: number, b: number, c: number) => void; + readonly __wbg_set_nodedata_ignore_in_edges: (a: number, b: number) => void; + readonly __wbg_set_nodedata_ignore_out_edges: (a: number, b: number) => void; + readonly __wbg_set_nodedata_path: (a: number, b: number, c: number) => void; + readonly __wbg_set_nodedata_resolved: (a: number, b: number) => void; + readonly nodedata_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; + readonly nodedata_toString: (a: number) => [number, number]; + readonly __wbg_edgelist_free: (a: number, b: number) => void; + readonly __wbg_groupededgelist_free: (a: number, b: number) => void; + readonly edgelist_first: (a: number) => number; + readonly edgelist_get_edges: (a: number) => [number, number]; + readonly edgelist_get_sorted_edges: (a: number, b: number, c: number) => [number, number, number, number]; + readonly edgelist_group_by_type: (a: number) => number; + readonly edgelist_last: (a: number) => number; + readonly edgelist_toString: (a: number) => [number, number]; + readonly edgelist_to_array: (a: number) => [number, number]; + readonly groupededgelist_get_edges: (a: number, b: number, c: number) => [number, number]; + readonly groupededgelist_get_sorted_edges: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number]; + readonly groupededgelist_toString: (a: number) => [number, number]; + readonly __wbg_get_mermaidgraphdata_mermaid: (a: number) => [number, number]; + readonly __wbg_get_mermaidgraphdata_total_time: (a: number) => bigint; + readonly __wbg_get_mermaidgraphdata_traversal_time: (a: number) => bigint; + readonly __wbg_mermaidgraphdata_free: (a: number, b: number) => void; + readonly __wbg_mermaidgraphoptions_free: (a: number, b: number) => void; + readonly __wbg_set_mermaidgraphdata_mermaid: (a: number, b: number, c: number) => void; + readonly __wbg_set_mermaidgraphdata_total_time: (a: number, b: bigint) => void; + readonly __wbg_set_mermaidgraphdata_traversal_time: (a: number, b: bigint) => void; + readonly mermaidgraphdata_toString: (a: number) => [number, number]; + readonly mermaidgraphoptions_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number) => number; + readonly mermaidgraphoptions_toString: (a: number) => [number, number]; + readonly notegraph_generate_mermaid_graph: (a: number, b: number, c: number) => [number, number, number]; + readonly __wbg_edgestruct_free: (a: number, b: number) => void; + readonly edgestruct_edge_data: (a: number, b: number) => [number, number, number]; + readonly edgestruct_edge_source: (a: number, b: number) => [number, number, number, number]; + readonly edgestruct_edge_type: (a: number) => [number, number]; + readonly edgestruct_explicit: (a: number, b: number) => [number, number, number]; + readonly edgestruct_get_attribute_label: (a: number, b: number, c: number, d: number) => [number, number, number, number]; + readonly edgestruct_is_self_loop: (a: number) => number; + readonly edgestruct_matches_edge_filter: (a: number, b: number, c: number, d: number) => [number, number, number]; + readonly edgestruct_round: (a: number, b: number) => [number, number, number]; + readonly edgestruct_source_data: (a: number, b: number) => [number, number, number]; + readonly edgestruct_source_path: (a: number, b: number) => [number, number, number, number]; + readonly edgestruct_source_resolved: (a: number, b: number) => [number, number, number]; + readonly edgestruct_stringify_source: (a: number, b: number, c: number) => [number, number, number, number]; + readonly edgestruct_stringify_target: (a: number, b: number, c: number) => [number, number, number, number]; + readonly edgestruct_target_data: (a: number, b: number) => [number, number, number]; + readonly edgestruct_target_path: (a: number, b: number) => [number, number, number, number]; + readonly edgestruct_target_resolved: (a: number, b: number) => [number, number, number]; + readonly edgestruct_toString: (a: number) => [number, number]; + readonly notegraph_rec_traverse: (a: number, b: number) => [number, number, number]; + readonly notegraph_rec_traverse_and_process: (a: number, b: number, c: number) => [number, number, number]; readonly __wbindgen_exn_store: (a: number) => void; readonly __externref_table_alloc: () => number; readonly __wbindgen_export_2: WebAssembly.Table; diff --git a/wasm/pkg/breadcrumbs_graph_wasm.js b/wasm/pkg/breadcrumbs_graph_wasm.js index f34894af..4a46ac70 100644 --- a/wasm/pkg/breadcrumbs_graph_wasm.js +++ b/wasm/pkg/breadcrumbs_graph_wasm.js @@ -255,6 +255,14 @@ export function sort_edges(graph, edges, sorter) { return v2; } +/** + * @returns {NoteGraph} + */ +export function create_graph() { + const ret = wasm.create_graph(); + return NoteGraph.__wrap(ret); +} + let cachedUint32ArrayMemory0 = null; function getUint32ArrayMemory0() { @@ -275,13 +283,6 @@ function passArray32ToWasm0(arg, malloc) { WASM_VECTOR_LEN = arg.length; return ptr; } -/** - * @returns {NoteGraph} - */ -export function create_graph() { - const ret = wasm.create_graph(); - return NoteGraph.__wrap(ret); -} const AddEdgeGraphUpdateFinalization = (typeof FinalizationRegistry === 'undefined') ? { register: () => {}, unregister: () => {} } @@ -1916,55 +1917,6 @@ export class NoteGraph { const ptr = this.__destroy_into_raw(); wasm.__wbg_notegraph_free(ptr, 0); } - /** - * Runs a recursive traversal of the graph. - * @param {TraversalOptions} options - * @returns {TraversalResult} - */ - rec_traverse(options) { - _assertClass(options, TraversalOptions); - var ptr0 = options.__destroy_into_raw(); - const ret = wasm.notegraph_rec_traverse(this.__wbg_ptr, ptr0); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return TraversalResult.__wrap(ret[0]); - } - /** - * Runs a recursive traversal of the graph and post-processes the result. - * The post-processed result is more efficient to work with from - * JavaScript. - * @param {TraversalOptions} options - * @param {TraversalPostprocessOptions} postprocess_options - * @returns {FlatTraversalResult} - */ - rec_traverse_and_process(options, postprocess_options) { - _assertClass(options, TraversalOptions); - var ptr0 = options.__destroy_into_raw(); - _assertClass(postprocess_options, TraversalPostprocessOptions); - var ptr1 = postprocess_options.__destroy_into_raw(); - const ret = wasm.notegraph_rec_traverse_and_process(this.__wbg_ptr, ptr0, ptr1); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return FlatTraversalResult.__wrap(ret[0]); - } - /** - * @param {TraversalOptions} traversal_options - * @param {MermaidGraphOptions} diagram_options - * @returns {MermaidGraphData} - */ - generate_mermaid_graph(traversal_options, diagram_options) { - _assertClass(traversal_options, TraversalOptions); - var ptr0 = traversal_options.__destroy_into_raw(); - _assertClass(diagram_options, MermaidGraphOptions); - var ptr1 = diagram_options.__destroy_into_raw(); - const ret = wasm.notegraph_generate_mermaid_graph(this.__wbg_ptr, ptr0, ptr1); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return MermaidGraphData.__wrap(ret[0]); - } /** * Returns all edge types that are present in the graph. * @returns {string[]} @@ -2134,6 +2086,55 @@ export class NoteGraph { const ret = wasm.notegraph_has_node(this.__wbg_ptr, ptr0, len0); return ret !== 0; } + /** + * @param {TraversalOptions} traversal_options + * @param {MermaidGraphOptions} diagram_options + * @returns {MermaidGraphData} + */ + generate_mermaid_graph(traversal_options, diagram_options) { + _assertClass(traversal_options, TraversalOptions); + var ptr0 = traversal_options.__destroy_into_raw(); + _assertClass(diagram_options, MermaidGraphOptions); + var ptr1 = diagram_options.__destroy_into_raw(); + const ret = wasm.notegraph_generate_mermaid_graph(this.__wbg_ptr, ptr0, ptr1); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return MermaidGraphData.__wrap(ret[0]); + } + /** + * Runs a recursive traversal of the graph. + * @param {TraversalOptions} options + * @returns {TraversalResult} + */ + rec_traverse(options) { + _assertClass(options, TraversalOptions); + var ptr0 = options.__destroy_into_raw(); + const ret = wasm.notegraph_rec_traverse(this.__wbg_ptr, ptr0); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return TraversalResult.__wrap(ret[0]); + } + /** + * Runs a recursive traversal of the graph and post-processes the result. + * The post-processed result is more efficient to work with from + * JavaScript. + * @param {TraversalOptions} options + * @param {TraversalPostprocessOptions} postprocess_options + * @returns {FlatTraversalResult} + */ + rec_traverse_and_process(options, postprocess_options) { + _assertClass(options, TraversalOptions); + var ptr0 = options.__destroy_into_raw(); + _assertClass(postprocess_options, TraversalPostprocessOptions); + var ptr1 = postprocess_options.__destroy_into_raw(); + const ret = wasm.notegraph_rec_traverse_and_process(this.__wbg_ptr, ptr0, ptr1); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return FlatTraversalResult.__wrap(ret[0]); + } } const NoteGraphErrorFinalization = (typeof FinalizationRegistry === 'undefined') diff --git a/wasm/pkg/breadcrumbs_graph_wasm_bg.wasm b/wasm/pkg/breadcrumbs_graph_wasm_bg.wasm index 80777489cbc104b0a586c8b1a7e02595866b593d..6da9cb23e65766205d7f163df0fbee05d4701fe6 100644 GIT binary patch delta 73988 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 diff --git a/wasm/pkg/breadcrumbs_graph_wasm_bg.wasm.d.ts b/wasm/pkg/breadcrumbs_graph_wasm_bg.wasm.d.ts index 27a10000..9740a34d 100644 --- a/wasm/pkg/breadcrumbs_graph_wasm_bg.wasm.d.ts +++ b/wasm/pkg/breadcrumbs_graph_wasm_bg.wasm.d.ts @@ -1,14 +1,48 @@ /* tslint:disable */ /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-function-type, @typescript-eslint/no-misused-new */ export const memory: WebAssembly.Memory; +export const __wbg_batchgraphupdate_free: (a: number, b: number) => void; +export const batchgraphupdate_new: () => number; export const __wbg_edgesorter_free: (a: number, b: number) => void; export const create_edge_sorter: (a: number, b: number, c: number) => [number, number, number]; export const sort_edges: (a: number, b: number, c: number, d: number) => [number, number, number, number]; export const sort_traversal_data: (a: number, b: number, c: number, d: number) => [number, number, number, number]; -export const __wbg_transitivegraphrule_free: (a: number, b: number) => void; -export const transitivegraphrule_create_example_graph: (a: number) => [number, number, number]; -export const transitivegraphrule_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number; -export const transitivegraphrule_toString: (a: number) => [number, number]; +export const __wbg_addedgegraphupdate_free: (a: number, b: number) => void; +export const __wbg_addnotegraphupdate_free: (a: number, b: number) => void; +export const __wbg_removeedgegraphupdate_free: (a: number, b: number) => void; +export const __wbg_removenotegraphupdate_free: (a: number, b: number) => void; +export const __wbg_renamenotegraphupdate_free: (a: number, b: number) => void; +export const __wbg_transitiverulesgraphupdate_free: (a: number, b: number) => void; +export const addedgegraphupdate_add_to_batch: (a: number, b: number) => void; +export const addedgegraphupdate_new: (a: number) => number; +export const addnotegraphupdate_add_to_batch: (a: number, b: number) => void; +export const addnotegraphupdate_new: (a: number) => number; +export const removeedgegraphupdate_add_to_batch: (a: number, b: number) => void; +export const removeedgegraphupdate_new: (a: number, b: number, c: number, d: number, e: number, f: number) => number; +export const removenotegraphupdate_add_to_batch: (a: number, b: number) => void; +export const removenotegraphupdate_new: (a: number, b: number) => number; +export const renamenotegraphupdate_add_to_batch: (a: number, b: number) => void; +export const renamenotegraphupdate_new: (a: number, b: number, c: number, d: number) => number; +export const transitiverulesgraphupdate_add_to_batch: (a: number, b: number) => void; +export const transitiverulesgraphupdate_new: (a: number, b: number) => number; +export const __wbg_notegraph_free: (a: number, b: number) => void; +export const notegraph_apply_update: (a: number, b: number) => [number, number]; +export const notegraph_build_graph: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number]; +export const notegraph_edge_types: (a: number) => [number, number]; +export const notegraph_get_filtered_grouped_outgoing_edges: (a: number, b: number, c: number, d: number, e: number) => number; +export const notegraph_get_filtered_outgoing_edges: (a: number, b: number, c: number, d: number, e: number) => number; +export const notegraph_get_incoming_edges: (a: number, b: number, c: number) => number; +export const notegraph_get_node: (a: number, b: number, c: number) => number; +export const notegraph_get_outgoing_edges: (a: number, b: number, c: number) => number; +export const notegraph_has_node: (a: number, b: number, c: number) => number; +export const notegraph_is_node_resolved: (a: number, b: number, c: number) => number; +export const notegraph_iterate_edges: (a: number, b: any) => void; +export const notegraph_iterate_nodes: (a: number, b: any) => void; +export const notegraph_log: (a: number) => void; +export const notegraph_new: () => number; +export const notegraph_notify_update: (a: number) => void; +export const notegraph_set_update_callback: (a: number, b: any) => void; +export const create_graph: () => number; export const __wbg_gcedgedata_free: (a: number, b: number) => void; export const __wbg_gcnodedata_free: (a: number, b: number) => void; export const gcedgedata_edge_source: (a: number) => [number, number]; @@ -19,6 +53,14 @@ export const gcedgedata_target: (a: number) => [number, number]; export const gcedgedata_toString: (a: number) => [number, number]; export const gcnodedata_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; export const gcnodedata_toString: (a: number) => [number, number]; +export const __wbg_edgedata_free: (a: number, b: number) => void; +export const __wbg_get_edgedata_explicit: (a: number) => number; +export const __wbg_get_edgedata_round: (a: number) => number; +export const __wbg_set_edgedata_explicit: (a: number, b: number) => void; +export const __wbg_set_edgedata_round: (a: number, b: number) => void; +export const edgedata_edge_source: (a: number) => [number, number]; +export const edgedata_edge_type: (a: number) => [number, number]; +export const edgedata_toString: (a: number) => [number, number]; export const __wbg_get_path_edges: (a: number) => [number, number]; export const __wbg_path_free: (a: number, b: number) => void; export const __wbg_pathlist_free: (a: number, b: number) => void; @@ -34,8 +76,13 @@ export const pathlist_process: (a: number, b: number, c: number) => [number, num export const pathlist_select: (a: number, b: number, c: number) => number; export const pathlist_toString: (a: number) => [number, number]; export const pathlist_to_paths: (a: number) => [number, number]; -export const notegraph_rec_traverse: (a: number, b: number) => [number, number, number]; -export const notegraph_rec_traverse_and_process: (a: number, b: number, c: number) => [number, number, number]; +export const __wbg_transitivegraphrule_free: (a: number, b: number) => void; +export const transitivegraphrule_create_example_graph: (a: number) => [number, number, number]; +export const transitivegraphrule_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number; +export const transitivegraphrule_toString: (a: number) => [number, number]; +export const __wbg_nodestringifyoptions_free: (a: number, b: number) => void; +export const nodestringifyoptions_new: (a: number, b: number, c: number, d: number, e: number) => number; +export const nodestringifyoptions_stringify_node: (a: number, b: number) => [number, number]; export const __wbg_get_traversaloptions_dataview_from_paths: (a: number) => [number, number]; export const __wbg_get_traversaloptions_edge_types: (a: number) => [number, number]; export const __wbg_get_traversaloptions_entry_nodes: (a: number) => [number, number]; @@ -59,113 +106,10 @@ export const traversaloptions_toString: (a: number) => [number, number]; export const traversalpostprocessoptions_new: (a: number, b: number) => number; export const traversalpostprocessoptions_toString: (a: number) => [number, number]; export const traversalpostprocessoptions_without_sorter: (a: number) => number; -export const __wbg_edgestruct_free: (a: number, b: number) => void; -export const edgestruct_edge_data: (a: number, b: number) => [number, number, number]; -export const edgestruct_edge_source: (a: number, b: number) => [number, number, number, number]; -export const edgestruct_edge_type: (a: number) => [number, number]; -export const edgestruct_explicit: (a: number, b: number) => [number, number, number]; -export const edgestruct_get_attribute_label: (a: number, b: number, c: number, d: number) => [number, number, number, number]; -export const edgestruct_is_self_loop: (a: number) => number; -export const edgestruct_matches_edge_filter: (a: number, b: number, c: number, d: number) => [number, number, number]; -export const edgestruct_round: (a: number, b: number) => [number, number, number]; -export const edgestruct_source_data: (a: number, b: number) => [number, number, number]; -export const edgestruct_source_path: (a: number, b: number) => [number, number, number, number]; -export const edgestruct_source_resolved: (a: number, b: number) => [number, number, number]; -export const edgestruct_stringify_source: (a: number, b: number, c: number) => [number, number, number, number]; -export const edgestruct_stringify_target: (a: number, b: number, c: number) => [number, number, number, number]; -export const edgestruct_target_data: (a: number, b: number) => [number, number, number]; -export const edgestruct_target_path: (a: number, b: number) => [number, number, number, number]; -export const edgestruct_target_resolved: (a: number, b: number) => [number, number, number]; -export const edgestruct_toString: (a: number) => [number, number]; export const __wbg_notegrapherror_free: (a: number, b: number) => void; export const notegrapherror_message: (a: number) => [number, number]; export const notegrapherror_new: (a: number, b: number) => number; export const notegrapherror_toString: (a: number) => [number, number]; -export const __wbg_get_mermaidgraphdata_mermaid: (a: number) => [number, number]; -export const __wbg_get_mermaidgraphdata_total_time: (a: number) => bigint; -export const __wbg_get_mermaidgraphdata_traversal_time: (a: number) => bigint; -export const __wbg_mermaidgraphdata_free: (a: number, b: number) => void; -export const __wbg_mermaidgraphoptions_free: (a: number, b: number) => void; -export const __wbg_set_mermaidgraphdata_mermaid: (a: number, b: number, c: number) => void; -export const __wbg_set_mermaidgraphdata_total_time: (a: number, b: bigint) => void; -export const __wbg_set_mermaidgraphdata_traversal_time: (a: number, b: bigint) => void; -export const mermaidgraphdata_toString: (a: number) => [number, number]; -export const mermaidgraphoptions_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number) => number; -export const mermaidgraphoptions_toString: (a: number) => [number, number]; -export const notegraph_generate_mermaid_graph: (a: number, b: number, c: number) => [number, number, number]; -export const __wbg_edgelist_free: (a: number, b: number) => void; -export const __wbg_groupededgelist_free: (a: number, b: number) => void; -export const edgelist_first: (a: number) => number; -export const edgelist_get_edges: (a: number) => [number, number]; -export const edgelist_get_sorted_edges: (a: number, b: number, c: number) => [number, number, number, number]; -export const edgelist_group_by_type: (a: number) => number; -export const edgelist_last: (a: number) => number; -export const edgelist_toString: (a: number) => [number, number]; -export const edgelist_to_array: (a: number) => [number, number]; -export const groupededgelist_get_edges: (a: number, b: number, c: number) => [number, number]; -export const groupededgelist_get_sorted_edges: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number]; -export const groupededgelist_toString: (a: number) => [number, number]; -export const __wbg_notegraph_free: (a: number, b: number) => void; -export const notegraph_apply_update: (a: number, b: number) => [number, number]; -export const notegraph_build_graph: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number]; -export const notegraph_edge_types: (a: number) => [number, number]; -export const notegraph_get_filtered_grouped_outgoing_edges: (a: number, b: number, c: number, d: number, e: number) => number; -export const notegraph_get_filtered_outgoing_edges: (a: number, b: number, c: number, d: number, e: number) => number; -export const notegraph_get_incoming_edges: (a: number, b: number, c: number) => number; -export const notegraph_get_node: (a: number, b: number, c: number) => number; -export const notegraph_get_outgoing_edges: (a: number, b: number, c: number) => number; -export const notegraph_has_node: (a: number, b: number, c: number) => number; -export const notegraph_is_node_resolved: (a: number, b: number, c: number) => number; -export const notegraph_iterate_edges: (a: number, b: any) => void; -export const notegraph_iterate_nodes: (a: number, b: any) => void; -export const notegraph_log: (a: number) => void; -export const notegraph_new: () => number; -export const notegraph_notify_update: (a: number) => void; -export const notegraph_set_update_callback: (a: number, b: any) => void; -export const __wbg_batchgraphupdate_free: (a: number, b: number) => void; -export const batchgraphupdate_new: () => number; -export const __wbg_addedgegraphupdate_free: (a: number, b: number) => void; -export const __wbg_addnotegraphupdate_free: (a: number, b: number) => void; -export const __wbg_removeedgegraphupdate_free: (a: number, b: number) => void; -export const __wbg_removenotegraphupdate_free: (a: number, b: number) => void; -export const __wbg_renamenotegraphupdate_free: (a: number, b: number) => void; -export const __wbg_transitiverulesgraphupdate_free: (a: number, b: number) => void; -export const addedgegraphupdate_add_to_batch: (a: number, b: number) => void; -export const addedgegraphupdate_new: (a: number) => number; -export const addnotegraphupdate_add_to_batch: (a: number, b: number) => void; -export const addnotegraphupdate_new: (a: number) => number; -export const removeedgegraphupdate_add_to_batch: (a: number, b: number) => void; -export const removeedgegraphupdate_new: (a: number, b: number, c: number, d: number, e: number, f: number) => number; -export const removenotegraphupdate_add_to_batch: (a: number, b: number) => void; -export const removenotegraphupdate_new: (a: number, b: number) => number; -export const renamenotegraphupdate_add_to_batch: (a: number, b: number) => void; -export const renamenotegraphupdate_new: (a: number, b: number, c: number, d: number) => number; -export const transitiverulesgraphupdate_add_to_batch: (a: number, b: number) => void; -export const transitiverulesgraphupdate_new: (a: number, b: number) => number; -export const __wbg_get_nodedata_aliases: (a: number) => [number, number]; -export const __wbg_get_nodedata_ignore_in_edges: (a: number) => number; -export const __wbg_get_nodedata_ignore_out_edges: (a: number) => number; -export const __wbg_get_nodedata_path: (a: number) => [number, number]; -export const __wbg_get_nodedata_resolved: (a: number) => number; -export const __wbg_nodedata_free: (a: number, b: number) => void; -export const __wbg_set_nodedata_aliases: (a: number, b: number, c: number) => void; -export const __wbg_set_nodedata_ignore_in_edges: (a: number, b: number) => void; -export const __wbg_set_nodedata_ignore_out_edges: (a: number, b: number) => void; -export const __wbg_set_nodedata_path: (a: number, b: number, c: number) => void; -export const __wbg_set_nodedata_resolved: (a: number, b: number) => void; -export const nodedata_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; -export const nodedata_toString: (a: number) => [number, number]; -export const __wbg_edgedata_free: (a: number, b: number) => void; -export const __wbg_get_edgedata_explicit: (a: number) => number; -export const __wbg_get_edgedata_round: (a: number) => number; -export const __wbg_set_edgedata_explicit: (a: number, b: number) => void; -export const __wbg_set_edgedata_round: (a: number, b: number) => void; -export const edgedata_edge_source: (a: number) => [number, number]; -export const edgedata_edge_type: (a: number) => [number, number]; -export const edgedata_toString: (a: number) => [number, number]; -export const __wbg_nodestringifyoptions_free: (a: number, b: number) => void; -export const nodestringifyoptions_new: (a: number, b: number, c: number, d: number, e: number) => number; -export const nodestringifyoptions_stringify_node: (a: number, b: number) => [number, number]; export const __wbg_flattraversaldata_free: (a: number, b: number) => void; export const __wbg_flattraversalresult_free: (a: number, b: number) => void; export const __wbg_get_flattraversaldata_children: (a: number) => [number, number]; @@ -227,7 +171,63 @@ export const __wbg_get_flattraversalresult_max_depth: (a: number) => number; export const __wbg_get_traversaldata_depth: (a: number) => number; export const __wbg_get_traversaldata_number_of_children: (a: number) => number; export const __wbg_get_traversalresult_traversal_time: (a: number) => bigint; -export const create_graph: () => number; +export const __wbg_get_nodedata_aliases: (a: number) => [number, number]; +export const __wbg_get_nodedata_ignore_in_edges: (a: number) => number; +export const __wbg_get_nodedata_ignore_out_edges: (a: number) => number; +export const __wbg_get_nodedata_path: (a: number) => [number, number]; +export const __wbg_get_nodedata_resolved: (a: number) => number; +export const __wbg_nodedata_free: (a: number, b: number) => void; +export const __wbg_set_nodedata_aliases: (a: number, b: number, c: number) => void; +export const __wbg_set_nodedata_ignore_in_edges: (a: number, b: number) => void; +export const __wbg_set_nodedata_ignore_out_edges: (a: number, b: number) => void; +export const __wbg_set_nodedata_path: (a: number, b: number, c: number) => void; +export const __wbg_set_nodedata_resolved: (a: number, b: number) => void; +export const nodedata_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; +export const nodedata_toString: (a: number) => [number, number]; +export const __wbg_edgelist_free: (a: number, b: number) => void; +export const __wbg_groupededgelist_free: (a: number, b: number) => void; +export const edgelist_first: (a: number) => number; +export const edgelist_get_edges: (a: number) => [number, number]; +export const edgelist_get_sorted_edges: (a: number, b: number, c: number) => [number, number, number, number]; +export const edgelist_group_by_type: (a: number) => number; +export const edgelist_last: (a: number) => number; +export const edgelist_toString: (a: number) => [number, number]; +export const edgelist_to_array: (a: number) => [number, number]; +export const groupededgelist_get_edges: (a: number, b: number, c: number) => [number, number]; +export const groupededgelist_get_sorted_edges: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number]; +export const groupededgelist_toString: (a: number) => [number, number]; +export const __wbg_get_mermaidgraphdata_mermaid: (a: number) => [number, number]; +export const __wbg_get_mermaidgraphdata_total_time: (a: number) => bigint; +export const __wbg_get_mermaidgraphdata_traversal_time: (a: number) => bigint; +export const __wbg_mermaidgraphdata_free: (a: number, b: number) => void; +export const __wbg_mermaidgraphoptions_free: (a: number, b: number) => void; +export const __wbg_set_mermaidgraphdata_mermaid: (a: number, b: number, c: number) => void; +export const __wbg_set_mermaidgraphdata_total_time: (a: number, b: bigint) => void; +export const __wbg_set_mermaidgraphdata_traversal_time: (a: number, b: bigint) => void; +export const mermaidgraphdata_toString: (a: number) => [number, number]; +export const mermaidgraphoptions_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number) => number; +export const mermaidgraphoptions_toString: (a: number) => [number, number]; +export const notegraph_generate_mermaid_graph: (a: number, b: number, c: number) => [number, number, number]; +export const __wbg_edgestruct_free: (a: number, b: number) => void; +export const edgestruct_edge_data: (a: number, b: number) => [number, number, number]; +export const edgestruct_edge_source: (a: number, b: number) => [number, number, number, number]; +export const edgestruct_edge_type: (a: number) => [number, number]; +export const edgestruct_explicit: (a: number, b: number) => [number, number, number]; +export const edgestruct_get_attribute_label: (a: number, b: number, c: number, d: number) => [number, number, number, number]; +export const edgestruct_is_self_loop: (a: number) => number; +export const edgestruct_matches_edge_filter: (a: number, b: number, c: number, d: number) => [number, number, number]; +export const edgestruct_round: (a: number, b: number) => [number, number, number]; +export const edgestruct_source_data: (a: number, b: number) => [number, number, number]; +export const edgestruct_source_path: (a: number, b: number) => [number, number, number, number]; +export const edgestruct_source_resolved: (a: number, b: number) => [number, number, number]; +export const edgestruct_stringify_source: (a: number, b: number, c: number) => [number, number, number, number]; +export const edgestruct_stringify_target: (a: number, b: number, c: number) => [number, number, number, number]; +export const edgestruct_target_data: (a: number, b: number) => [number, number, number]; +export const edgestruct_target_path: (a: number, b: number) => [number, number, number, number]; +export const edgestruct_target_resolved: (a: number, b: number) => [number, number, number]; +export const edgestruct_toString: (a: number) => [number, number]; +export const notegraph_rec_traverse: (a: number, b: number) => [number, number, number]; +export const notegraph_rec_traverse_and_process: (a: number, b: number, c: number) => [number, number, number]; export const __wbindgen_exn_store: (a: number) => void; export const __externref_table_alloc: () => number; export const __wbindgen_export_2: WebAssembly.Table;