MCPcopy Create free account
hub / github.com/Effect-TS/effect / asOption

Function asOption

packages/effect/src/SchemaParser.ts:971–983  ·  view source on GitHub ↗
(
  parser: (input: E, options?: SchemaAST.ParseOptions) => Effect.Effect<T, SchemaIssue.Issue, R>
)

Source from the content-addressed store, hash-verified

969
970/** @internal */
971export function asOption<T, E, R>(
972 parser: (input: E, options?: SchemaAST.ParseOptions) => Effect.Effect<T, SchemaIssue.Issue, R>
973): (input: E, options?: SchemaAST.ParseOptions) => Option.Option<T> {
974 const parserExit = asExit(parser)
975 return (input: E, options?: SchemaAST.ParseOptions) => {
976 const exit = parserExit(input, options)
977 if (Exit.isSuccess(exit)) {
978 return Option.some(exit.value)
979 }
980 InternalSchemaCause.getSchemaIssueOrThrow(exit.cause, "Option adapter can only return none for schema issues")
981 return Option.none()
982 }
983}
984
985function asResult<T, E, R>(
986 parser: (input: E, options?: SchemaAST.ParseOptions) => Effect.Effect<T, SchemaIssue.Issue, R>

Callers 2

decodeUnknownOptionFunction · 0.85
encodeUnknownOptionFunction · 0.85

Calls 2

asExitFunction · 0.85
someMethod · 0.80

Tested by

no test coverage detected