Comments (3)
Interesting! Well this is going to be inevitable if your type actually has 128+ dependencies (somehow), but in your case, the function dependency_types
is trying to build ((), ((), ((), ...)))
with a whole lot of empty TypeList
s inside of each other, I'll make a PR to fix that
from ts-rs.
😆 I thought we might be reach that limit at some point!
@escritorio-gustavo One way we could tackle this is by generating a custom TypeList, instead of returning e.g ((((((((((), Type1), Type2), ......)))))
fn dependency_types() -> impl TypeList {
struct List;
impl TypeList for List {
fn for_each(self, v: &mut Visitor) {
v.visit::<Type1>();
v.visit::<Type2>();
OtherType::depencency_types().for_each(v);
...
}
}
List
}
from ts-rs.
😆 I thought we might be reach that limit at some point!
@escritorio-gustavo One way we could tackle this is by generating a custom TypeList, instead of returning e.g
((((((((((), Type1), Type2), ......)))))
fn dependency_types() -> impl TypeList { struct List; impl TypeList for List { fn for_each(self, v: &mut Visitor) { v.visit::<Type1>(); v.visit::<Type2>(); OtherType::depencency_types().for_each(v); ... } } List }
Cool! That could be the way to fix the case for > 128
dependencies. The thing is... I barely understand the TypeList
currently, so I have no clue how to do that 😅
from ts-rs.
Related Issues (20)
- Feature request: `#[ts(bound)]` attribute HOT 13
- Feature request: rust_decimal::Decimal TS implementation HOT 2
- Can we support `#[serde(with = "..")]`? HOT 11
- Feature request: `bnum` compatibility HOT 2
- bug: `impl Trait` only allowed in function and inherent method return types, not in trait method return types HOT 4
- Feature request: Export in the same file HOT 3
- bug: Using `#[ts(rename_all = "...")]` `snake_case`, `SCREAMING_SNAKE_CASE` and `kebab-case` is not compatible with serde
- Randomly failing `imports` test HOT 1
- Unqualified call to `Self::name()`
- `usize` and `isize` should be typed as `bigint` on 64-bit architectures HOT 6
- Feature request: `serde-wasm-bindgen` compatibility. HOT 4
- Feature request: How to export multiple types to the same file HOT 4
- Feature request: Typed array types HOT 1
- bug: Tuples cause imports to be missed HOT 5
- bug: files are missing final newlines
- bug: `export::path:absolute` function fails when `TS_RS_EXPORT_DIR` is set to an absolute path and the `path_bug` test is executed
- bug: TS generated tests fail on struct with `serde_json::Value` type when running `cargo test`. HOT 2
- `ts(optional)` should be working on any which has `skip_serializing_if` HOT 1
- Add all of `ts(function)` to docs. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ts-rs.