Hyperlinkv0.8.0-beta.28

Schema

Schema.catchEncodingWithContextfunctioneffect/Schema.ts:5365
<S extends Constraint, R = never>(
  f: (
    issue: SchemaIssue.Issue
  ) => Effect.Effect<Option_.Option<S["Encoded"]>, SchemaIssue.Issue, R>
): (self: S) => middlewareEncoding<S, S["EncodingServices"] | R>

Recovers from an encoding error with a handler that may require Effect services.

When to use

Use when you need encoding fallback logic to require services from the Effect context.

Details

The handler receives the Issue and returns an Effect that either succeeds with a fallback encoded value or re-fails with a (possibly different) issue. The handler's services are added to the schema's encoding services.

Source effect/Schema.ts:53656 lines
export function catchEncodingWithContext<S extends Constraint, R = never>(
  f: (issue: SchemaIssue.Issue) => Effect.Effect<Option_.Option<S["Encoded"]>, SchemaIssue.Issue, R>
) {
  return (self: S): middlewareEncoding<S, S["EncodingServices"] | R> =>
    middlewareEncoding<S, S["EncodingServices"] | R>(Effect.catchEager(f))(self)
}
Referenced by 1 symbols