- Export types as
type
instead ofìnterface
(#203) - Automatically export all dependencies when using
#[ts(export)]
, addTS::dependency_types()
(#221) - Remove support for "skip_serializing", "skip_serializing_if" and "skip_deserializing". (#204)
- Initially supporting these by skipping a field was a mistake. If a user wishes to skip a field, they can still
annotate it with
#[ts(skip)]
- Initially supporting these by skipping a field was a mistake. If a user wishes to skip a field, they can still
annotate it with
- Implement
#[ts(as = "..")]
(#174) - For small arrays, generate tuples instead of
Array<T>
(#209) - Implement
#[ts(optional = nullable)]
(#213) - Allow inlining of fields with generic types (#212, #215, #216)
- Allow flattening enum fields (#206)
- Add
semver-impl
cargo feature with support for the semver crate (#176) - Support
HashMap
with custom hashers (#173) - Add
import-esm
cargo feature to import files with a.js
extension (#192) - Implement
#[ts(...)]
equivalents for#[serde(tag = "...")]
,#[serde(tag = "...", content = "...")]
and#[serde(untagged)]
(#227) - Support
#[serde(untagged)]
on individual enum variants (#226) - Support for
#[serde(rename_all_fields = "...")]
(#225) - Export Rust doc comments/attributes on structs/enums as TSDoc strings (#187)