deno-bindgen2-common 1.0.1

Common library used by the deno-bindgen2 project. Contains mainly implmenentations for parsing and transforming Rust source code.
Documentation
# Codegen

```mermaid
---
config:
  layout: elk
  elk:
    mergeEdges: true

---
graph TD


subgraph file[parsed rust module]
    items
end

subgraph ast_items[item]
    direction LR
    mod
    impl
    fn
end

items --> mod
items --> impl
items --> fn

mod --> items

impl --> classes
subgraph classes
    methods
end

fn --> parse_sig
methods --> parse_sig([parse signature])


parse_sig --> custom_types[custom types]
parse_sig --> rust_types[non trivial types]
parse_sig --> ffi_symbols

rust_types --> check_rust_type
check_rust_type([generate utility for type?])
check_rust_type -- yes --> generate_utils([generate utils])
generate_utils --> export_class
generate_utils --> ffi_symbols
check_rust_type -- no --> export_type


parse_sig --> generate_method([generate method])
generate_method -->| transform | export_fn
generate_method -->| transform | export_class

custom_types --> match_class([is one of class names?])
match_class -- yes --> export_class
match_class -- no --> export_type



subgraph generated[generated typescript module]
    subgraph exports
        export_fn[function]
        export_class[class]
        export_type[pointer type alias]
    end
    ffi_symbols[ffi symbols]
end

```