Hyperlinkv0.8.0-beta.28

SchemaParser

SchemaParser.encodeUnknownEffectfunctioneffect/SchemaParser.ts:597
<S extends Schema.Constraint>(
  schema: S,
  options?: SchemaAST.ParseOptions
): (
  input: unknown,
  options?: SchemaAST.ParseOptions
) => Effect.Effect<S["Encoded"], SchemaIssue.Issue, S["EncodingServices"]>

Creates an effectful encoder for unknown input.

When to use

Use when you need to encode untyped boundary input in an Effect whose failure channel is SchemaIssue.Issue, while preserving service requirements.

Details

The returned function succeeds with the schema's Encoded value or fails with a SchemaIssue.Issue. Encoding service requirements are preserved in the returned Effect. Parse options may be provided when creating the encoder and overridden when applying it.

encodingencodeEffect
export function encodeUnknownEffect<S extends Schema.Constraint>(
  schema: S,
  options?: SchemaAST.ParseOptions
): (
  input: unknown,
  options?: SchemaAST.ParseOptions
) => Effect.Effect<S["Encoded"], SchemaIssue.Issue, S["EncodingServices"]> {
  const parser = run<S["Encoded"], S["EncodingServices"]>(SchemaAST.flip(schema.ast))
  return options === undefined
    ? parser
    : (input, overrideOptions) => parser(input, mergeParseOptions(options, overrideOptions))
}
Referenced by 6 symbols