© 2026 Hedgehog Software, LLC
a
import {Schema, ParseResult} from "effect" const myT = Schema.Struct({ a: Schema.NumberFromString.pipe(Schema.compose(Schema.Literal(1,2))), }) const mySchema = Schema.transformOrFail(Schema.String, myT, { strict: true, decode: (line, _, ast) => { const x = JSON.parse(line); if ("a" in x) { const n = parseInt(x.a); if (n > 0 && n < 3) { return ParseResult.succeed({a: n}); } } return ParseResult.fail(new ParseResult.Type(ast, line,"Failed to parse")); }, encode: (a) => ParseResult.succeed(JSON.stringify(a)) })