Skip to content

SchemaError.ts

Since v4.0.0



Error thrown (or returned as the error channel value) when schema decoding or encoding fails.

Details

The issue field contains a structured Issue tree describing every validation failure, including the path to the problematic value, expected types, and actual values received. message renders the issue tree as a human-readable string.

Use isSchemaError to narrow an unknown value to SchemaError.

Example (Catching a SchemaError)

import { Schema } from "effect"
try {
Schema.decodeUnknownSync(Schema.Number)("not a number")
} catch (err) {
if (Schema.isSchemaError(err)) {
console.log(err.message)
// Expected number, actual "not a number"
}
}

Signature

declare class SchemaError {
constructor(issue: Issue)
}

Source

Since v4.0.0

Signature

declare const toString: () => string

Source

Signature

readonly [TypeId]: "~effect/SchemaError/SchemaError"

Source

Returns true if u is a SchemaError.

Signature

declare const isSchemaError: (u: unknown) => u is SchemaError

Source

Since v4.0.0