From 6459f59ddf0e4806653cdba1d062b4072eae15cc Mon Sep 17 00:00:00 2001 From: Keiichiro Amemiya Date: Mon, 18 May 2026 18:07:22 +0200 Subject: [PATCH 1/2] fix(effect): return self from BigDecimal.normalize for already-normalized values --- packages/effect/src/BigDecimal.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/effect/src/BigDecimal.ts b/packages/effect/src/BigDecimal.ts index 1a52ce9992a..b8cef106393 100644 --- a/packages/effect/src/BigDecimal.ts +++ b/packages/effect/src/BigDecimal.ts @@ -161,11 +161,11 @@ export const normalize = (self: BigDecimal): BigDecimal => { if (trail === 0) { self.normalized = self + } else { + const value = BigInt(digits.substring(0, digits.length - trail)) + const scale = self.scale - trail + self.normalized = unsafeMakeNormalized(value, scale) } - - const value = BigInt(digits.substring(0, digits.length - trail)) - const scale = self.scale - trail - self.normalized = unsafeMakeNormalized(value, scale) } } From 8f40d567d133a169251ff390957373e53835c618 Mon Sep 17 00:00:00 2001 From: Keiichiro Amemiya Date: Mon, 8 Jun 2026 19:19:26 +0200 Subject: [PATCH 2/2] changeset --- .changeset/upset-clubs-kick.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/upset-clubs-kick.md diff --git a/.changeset/upset-clubs-kick.md b/.changeset/upset-clubs-kick.md new file mode 100644 index 00000000000..6aeb456979d --- /dev/null +++ b/.changeset/upset-clubs-kick.md @@ -0,0 +1,5 @@ +--- +"effect": patch +--- + +Return `self` from `BigDecimal.normalize` for already-normalized values