ts-rs icon indicating copy to clipboard operation
ts-rs copied to clipboard

Feature request: rust_decimal::Decimal TS implementation

Open seanpianka opened this issue 1 year ago • 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.

seanpianka avatar Mar 19 '24 00:03 seanpianka

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 = ..)]

NyxCode avatar Mar 19 '24 00:03 NyxCode

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.

seanpianka avatar Mar 19 '24 01:03 seanpianka

As mentioned in #273, we cannot properly support this

gustavo-shigueo avatar Nov 11 '24 02:11 gustavo-shigueo