ts-rs 2.1.3

generate typescript bindings from rust types
Documentation
#![allow(unused)]

use ts_rs::TS;

#[test]
fn test_tuple() {
    type Tuple = (String, i32, (i32, i32));
    assert_eq!("[string, number, [number, number]]", Tuple::name());
}

#[test]
#[should_panic]
fn test_decl() {
    type Tuple = (String, i32, (i32, i32));
    let _ = Tuple::decl();
}

#[test]
fn test_newtype() {
    #[derive(TS)]
    struct NewType(String);

    assert_eq!("export type NewType = string;", NewType::decl());
}

#[test]
fn test_tuple_newtype() {
    #[derive(TS)]
    struct TupleNewType(String, i32, (i32, i32));
    assert_eq!(
        "export type TupleNewType = [string, number, [number, number]];",
        TupleNewType::decl()
    )
}