Aleph-Alpha/ts-rs

Feature request: rust_decimal::Decimal TS implementation

Opened this issue · 2 comments

Is your feature request related to a problem? Please describe.
My project uses rust_decimal instead of bigdecimal, which seems to be more popular. It might be helpful to provide an implementation for this as well.

Describe the solution you'd like
Provide an implementation of TS for rust_decimal::Decimal, enabled via "rust-decimal-impl" (or omit the first dash)

Describe alternatives you've considered
Downstream packages supply some manual implementation or fallback?

Additional context
I recently began using the crate, so perhaps this addition is unnecessary.

Hey! Definetely something we can add in the future!

In the meantime, you can either use

  • a type override (specifying the typescript type manually): #[ts(type = "number")] field: Decimal
  • or, if your TS equivalent of Decimal is more complicated than number, use #[ts(as = ..)]

I've opened a PR that should ideally resolve this. It uses a specific feature flag for Decimal formatting that my particular project uses (and which their documentation describes as "flexible"), however this may not be appropriate for everyone elses' projects.

Potentially we can add a feature flags for each of the available representations. e.g., rustdecimal-with-serde-str-impl, rustdecimal-serde-str-impl, rustdecimal-with-serde-float-impl, rustdecimal-serde-float-impl, serde-with-arbitrary-precision, rustdecimal-serde-arbitrary-precision-impl, etc.