Enum typescript_type_def::type_expr::TypeInfo  
source · pub enum TypeInfo {
    Native(NativeTypeInfo),
    Defined(DefinedTypeInfo),
}Expand description
A description of the type information required to produce a TypeScript type definition.
Variants§
Native(NativeTypeInfo)
This info describes a “native” TypeScript type which does not require a type definition.
Defined(DefinedTypeInfo)
This info describes a “defined” TypeScript type which does require a type definition.
Implementations§
source§impl TypeInfo
 
impl TypeInfo
sourcepub fn write_ref_expr<W>(
    &'static self,
    writer: W,
    root_namespace: Option<&str>
) -> Result<()>where
    W: Write,
 
pub fn write_ref_expr<W>( &'static self, writer: W, root_namespace: Option<&str> ) -> Result<()>where W: Write,
Writes a Typescript type expression referencing this type to the given writer.
This method is meant to be used in generated code referencing types
defined in a module created with write_definition_file. The
root_namespace option should be set to the qualified name of the
import of that module.
Example
use serde::Serialize;
use std::io::Write;
use typescript_type_def::{write_definition_file, TypeDef};
#[derive(Serialize, TypeDef)]
struct Foo<T> {
    a: T,
}
let ts_module = {
    let mut buf = Vec::new();
    // types.ts contains type definitions written using write_definition_file
    writeln!(&mut buf, "import * as types from './types';").unwrap();
    writeln!(&mut buf).unwrap();
    write!(&mut buf, "export function myAPI(foo: ").unwrap();
    let foo_type_info = &<Foo<Vec<u8>> as TypeDef>::INFO;
    foo_type_info.write_ref_expr(&mut buf, Some("types")).unwrap();
    writeln!(&mut buf, ") {{}}").unwrap();
    String::from_utf8(buf).unwrap()
};
assert_eq!(
    ts_module,
    r#"import * as types from './types';
export function myAPI(foo: types.Foo<(types.U8)[]>) {}
"#
);Trait Implementations§
Auto Trait Implementations§
impl RefUnwindSafe for TypeInfo
impl Send for TypeInfo
impl Sync for TypeInfo
impl Unpin for TypeInfo
impl UnwindSafe for TypeInfo
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more