From 07f592b2229f8af4a4f8878d8c05ab742f9923c4 Mon Sep 17 00:00:00 2001 From: Maccesch Date: Sun, 21 Jan 2024 18:32:12 +0000 Subject: [PATCH] fixed use_intl_number_format fraction digits option --- CHANGELOG.md | 1 + src/use_intl_number_format.rs | 34 ++++++++++++++++++++-------------- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0317b03..3a4612b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixes 🍕 - Fixed `use_geolocation` SSR compile issue +- Fixed `use_intl_number_format` maximum fraction digits option ### Changes 🔥 diff --git a/src/use_intl_number_format.rs b/src/use_intl_number_format.rs index ef74094..576651e 100644 --- a/src/use_intl_number_format.rs +++ b/src/use_intl_number_format.rs @@ -659,10 +659,12 @@ pub struct UseIntlNumberFormatOptions { maximum_fraction_digits: Option, /// The minimum number of significant digits to use. Possible values are from 1 to 21; the default is 1. - minimum_significant_digits: u8, + #[builder(into)] + minimum_significant_digits: Option, /// The maximum number of significant digits to use. Possible values are from 1 to 21; the default is 21. - maximum_significant_digits: u8, + #[builder(into)] + maximum_significant_digits: Option, } impl UseIntlNumberFormatOptions { @@ -700,8 +702,8 @@ impl Default for UseIntlNumberFormatOptions { minimum_integer_digits: 1, minimum_fraction_digits: None, maximum_fraction_digits: None, - minimum_significant_digits: 1, - maximum_significant_digits: 21, + minimum_significant_digits: None, + maximum_significant_digits: None, } } } @@ -785,16 +787,20 @@ impl From for js_sys::Object { ); } - let _ = Reflect::set( - &obj, - &"minimumSignificantDigits".into(), - &options.minimum_significant_digits.into(), - ); - let _ = Reflect::set( - &obj, - &"maximumSignificantDigits".into(), - &options.maximum_significant_digits.into(), - ); + if let Some(minimum_significant_digits) = options.minimum_significant_digits { + let _ = Reflect::set( + &obj, + &"minimumSignificantDigits".into(), + &minimum_significant_digits.into(), + ); + } + if let Some(maximum_significant_digits) = options.maximum_significant_digits { + let _ = Reflect::set( + &obj, + &"maximumSignificantDigits".into(), + &maximum_significant_digits.into(), + ); + } obj }