decodeunknownSync is synchronous decoder. On decode failure, it throws a native JavaScript Error.
import { Schema, SchemaIssue } from "effect";
const schema = Schema.Struct({ name: Schema.String, age: Schema.Number,});
const decode = Schema.decodeUnknownSync(schema);
// Happy pathconst decoded = decode({ name: "Alice", age: 30 });console.log("Decoded Value:", decoded);
// Error pathtry { decode({ name: 42, age: "30" }, { errors: "all" });} catch (error) { if (error instanceof Error) { console.log("Error Message:", error.message);
if (SchemaIssue.isIssue(error.cause)) { console.log("Issue Tree:", error.cause); } }}The human-readable message is on error.message, and the structured issue tree is attached to error.cause.