Hyperlinkv0.8.0-beta.28

SchemaParser

SchemaParser.makeEffectfunctioneffect/SchemaParser.ts:70
<S extends Schema.Constraint>(schema: S): (
  input: S["~type.make.in"],
  options?: Schema.MakeOptions
) => Effect.Effect<S["Type"], SchemaIssue.Issue>

Creates an effectful maker for the schema's decoded type side.

When to use

Use to construct decoded schema values in Effect while preserving construction failures as SchemaIssue.Issue values in the error channel.

Details

The returned function accepts constructor input, applies constructor defaults, runs type-side validation unless checks are disabled, and fails with a SchemaIssue.Issue when construction fails.

constructors
export function makeEffect<S extends Schema.Constraint>(schema: S) {
  const ast = recurDefaults(SchemaAST.toType(schema.ast))
  const parser = run<S["Type"], never>(ast)
  return (input: S["~type.make.in"], options?: Schema.MakeOptions): Effect.Effect<S["Type"], SchemaIssue.Issue> => {
    return parser(
      input,
      options?.disableChecks
        ? options?.parseOptions ? { ...options.parseOptions, disableChecks: true } : { disableChecks: true }
        : options?.parseOptions
    )
  }
}
Referenced by 2 symbols