From 84e212accca06fb57629dcfa23ab9c71549dc5c5 Mon Sep 17 00:00:00 2001 From: Jesse Kelly Date: Thu, 23 Nov 2023 16:00:37 +0100 Subject: [PATCH] fixed equivalence --- src/Schema.ts | 2 +- test/BigDecimal/BigDecimalFromSelf.test.ts | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Schema.ts b/src/Schema.ts index 0c8304653..166c53874 100644 --- a/src/Schema.ts +++ b/src/Schema.ts @@ -3555,7 +3555,7 @@ export const BigDecimalFromSelf: Schema = declare( [AST.IdentifierAnnotationId]: "BigDecimal", [Internal.PrettyHookId]: bigDecimalPretty, [Internal.ArbitraryHookId]: bigDecimalArbitrary, - [Internal.EquivalenceHookId]: BigDecimal.Equivalence + [Internal.EquivalenceHookId]: () => BigDecimal.Equivalence } ) diff --git a/test/BigDecimal/BigDecimalFromSelf.test.ts b/test/BigDecimal/BigDecimalFromSelf.test.ts index 9e324183e..b91ccc2fc 100644 --- a/test/BigDecimal/BigDecimalFromSelf.test.ts +++ b/test/BigDecimal/BigDecimalFromSelf.test.ts @@ -1,3 +1,4 @@ +import * as Equivalence from "@effect/schema/Equivalence" import * as Pretty from "@effect/schema/Pretty" import * as S from "@effect/schema/Schema" import * as Util from "@effect/schema/test/util" @@ -39,4 +40,13 @@ describe("Schema/DurationFromSelf", () => { expect(pretty(BigDecimal.unsafeFromString("123.100"))).toEqual("BigDecimal(123.1)") expect(pretty(BigDecimal.unsafeFromString(""))).toEqual("BigDecimal(0)") }) + + it("equivalence", () => { + const schema = S.BigDecimalFromSelf + const equivalence = Equivalence.to(schema) + + expect(equivalence(BigDecimal.fromNumber(1), BigDecimal.unsafeFromString("1"))).to.be.true + expect(equivalence(BigDecimal.fromNumber(2), BigDecimal.unsafeFromString("1"))).to.be.false + expect(equivalence(BigDecimal.fromNumber(1), BigDecimal.unsafeFromString("2"))).to.be.false + }) })