pub struct TsShape { /* private fields */ }Expand description
Interprets a shape as TypeScript, spelling member names as the surface spells them.
A type’s own name is always written in pascal case, which is TypeScript’s convention rather than this shape’s statement.
Implementations§
Trait Implementations§
impl Copy for TsShape
Source§impl ShapeAlg for TsShape
impl ShapeAlg for TsShape
Source§fn literal(&self, text: &str) -> TsType
fn literal(&self, text: &str) -> TsType
One fixed piece of text, as a value: content that happens to be constant.
Source§fn name_word(&self, words: Words<'_>) -> TsType
fn name_word(&self, words: Words<'_>) -> TsType
A value whose content is a name, spelled however the interpretation spells names. Read more
Source§fn int(&self, _signed: bool, _bits: u16) -> TsType
fn int(&self, _signed: bool, _bits: u16) -> TsType
An integer of a stated width and signedness.
Source§fn hex(&self, item: TsType) -> TsType
fn hex(&self, item: TsType) -> TsType
Written as
0x-prefixed hexadecimal, rather than however the item would appear alone.Source§fn decimal(&self, item: TsType) -> TsType
fn decimal(&self, item: TsType) -> TsType
Written as decimal digits in text, which is what a width beyond a JSON number requires.
Source§fn choice(&self, alternatives: Vec<TsType>) -> TsType
fn choice(&self, alternatives: Vec<TsType>) -> TsType
A choice between alternatives, carrying no discriminant of its own. Read more
Auto Trait Implementations§
impl Freeze for TsShape
impl RefUnwindSafe for TsShape
impl Send for TsShape
impl Sync for TsShape
impl Unpin for TsShape
impl UnsafeUnpin for TsShape
impl UnwindSafe for TsShape
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<This> ShapeDeclareExt<This> for This
impl<This> ShapeDeclareExt<This> for This
Source§impl<This> ShapeExt<This> for Thiswhere
This: ShapeAlg,
impl<This> ShapeExt<This> for Thiswhere
This: ShapeAlg,
Source§fn bytes_array(&self) -> <This as Sorts>::Ty
fn bytes_array(&self) -> <This as Sorts>::Ty
Bytes written as an array of JSON numbers, which is a sequence of octets and nothing more.
Source§fn int_decimal(&self, signed: bool, bits: u16) -> <This as Sorts>::Ty
fn int_decimal(&self, signed: bool, bits: u16) -> <This as Sorts>::Ty
An integer written as decimal digits, for a width a JSON number cannot hold.
Source§fn int_hex(&self, signed: bool, bits: u16) -> <This as Sorts>::Ty
fn int_hex(&self, signed: bool, bits: u16) -> <This as Sorts>::Ty
An integer written as a 0x quantity, as the Ethereum JSON-RPC specification states one.
Source§fn named_product(
&self,
words: &[&str],
fields: Vec<<This as Sorts>::Field>,
) -> <This as Sorts>::Ty
fn named_product( &self, words: &[&str], fields: Vec<<This as Sorts>::Field>, ) -> <This as Sorts>::Ty
A named product: the shape most types have.
Source§impl<This> ShapeProgramExt<This> for This
impl<This> ShapeProgramExt<This> for This
Source§fn compile_shape<Program>(
&self,
program: Program,
) -> <Program as ShapeProgramAlg<This>>::Tywhere
Program: ShapeProgramAlg<This>,
fn compile_shape<Program>(
&self,
program: Program,
) -> <Program as ShapeProgramAlg<This>>::Tywhere
Program: ShapeProgramAlg<This>,
Folds a declaration with this interpretation.
Source§impl<This> ShapeTaggedExt<This> for This
impl<This> ShapeTaggedExt<This> for This
Source§fn sum_external<'w>(
&self,
alternatives: Vec<(&'w [&'w str], <This as Sorts>::Ty)>,
) -> <This as Sorts>::Ty
fn sum_external<'w>( &self, alternatives: Vec<(&'w [&'w str], <This as Sorts>::Ty)>, ) -> <This as Sorts>::Ty
A choice written as one object per alternative, keyed by its name.