diff --git a/.changeset/friendly-drinks-double.md b/.changeset/friendly-drinks-double.md new file mode 100644 index 000000000..2874c92cc --- /dev/null +++ b/.changeset/friendly-drinks-double.md @@ -0,0 +1,5 @@ +--- +"@effect/schema": minor +--- + +AST: simplify `createRefinement` return type diff --git a/docs/modules/AST.ts.md b/docs/modules/AST.ts.md index a8e39d160..1c4051533 100644 --- a/docs/modules/AST.ts.md +++ b/docs/modules/AST.ts.md @@ -601,7 +601,7 @@ export declare const createRefinement: ( from: From, filter: Refinement["filter"], annotations?: Annotated["annotations"] -) => Transform | Refinement +) => Refinement ``` Added in v1.0.0 diff --git a/src/AST.ts b/src/AST.ts index 9407cb219..ae038eeaa 100644 --- a/src/AST.ts +++ b/src/AST.ts @@ -957,15 +957,7 @@ export const createRefinement = ( from: From, filter: Refinement["filter"], annotations: Annotated["annotations"] = {} -): Refinement | Transform => { - if (isTransform(from)) { - // recurse right - return createTransform( - from.from, - createRefinement(from.to, filter, annotations), - from.transformation - ) - } +): Refinement => { return { _tag: "Refinement", from, filter, annotations } } diff --git a/test/Schema/required.test.ts b/test/Schema/required.test.ts index 954161c43..431c49972 100644 --- a/test/Schema/required.test.ts +++ b/test/Schema/required.test.ts @@ -19,14 +19,14 @@ describe("Schema > required", () => { await Util.expectParseFailure( schema, {}, - `{ a: a positive number> } + `{ a: a positive number } └─ ["a"] └─ is missing` ) await Util.expectParseFailure( schema, { a: "-1" }, - `{ a: a positive number> } + `{ a: a positive number } └─ ["a"] └─ Expected a positive number, actual -1` )