postcard-bindgen-core 0.3.5

A crate to generate bindings for the postcard binary format for other languages than Rust - Core Crate
Documentation
use genco::{prelude::js::Tokens, quote};

use crate::registry::BindingType;

use self::{
    ser_des::{
        gen_deserialize_func, gen_ser_des_classes, gen_ser_des_functions, gen_serialize_func,
    },
    type_checking::gen_type_checkings,
};

mod generateable;
pub mod ser_des;
pub mod type_checking;
mod utils;

const JS_ENUM_VARIANT_KEY: &str = "tag";
const JS_ENUM_VARIANT_VALUE: &str = "value";
const JS_OBJECT_VARIABLE: &str = "v";

pub fn generate_js(tys: impl AsRef<[BindingType]>) -> Tokens {
    let ser_des_body = gen_ser_des_functions(&tys);
    let type_checks = gen_type_checkings(&tys);
    quote!(
        $(gen_ser_des_classes())
        $ser_des_body
        $type_checks
        $(gen_serialize_func(&tys))
        $(gen_deserialize_func(tys))
    )
}