<S extends Schema.Constraint, I>(
schema: S,
input: I
): asserts input is I & S["Type"]Asserts that an input satisfies the schema's decoded type side.
When to use
Use to assert that an input satisfies the decoded side of a schema when schema
validation failures should throw an Error whose cause is SchemaIssue.Issue.
Details
The assertion returns normally when validation succeeds. When the input does
not satisfy the schema with a schema-only failure, it throws an Error with
the SchemaIssue.Issue in its cause.
Gotchas
Causes that contain defects, interruptions, or asynchronous work at this
synchronous boundary throw an Error whose cause is the underlying Cause,
instead of being converted to a schema validation error.
export function function asserts<
S extends Schema.Constraint,
I
>(
schema: S,
input: I
): asserts input is I & S["Type"]
Asserts that an input satisfies the schema's decoded type side.
When to use
Use to assert that an input satisfies the decoded side of a schema when schema
validation failures should throw an Error whose cause is SchemaIssue.Issue.
Details
The assertion returns normally when validation succeeds. When the input does
not satisfy the schema with a schema-only failure, it throws an Error with
the SchemaIssue.Issue in its cause.
Gotchas
Causes that contain defects, interruptions, or asynchronous work at this
synchronous boundary throw an Error whose cause is the underlying Cause,
instead of being converted to a schema validation error.
asserts<function (type parameter) S in asserts<S extends Schema.Constraint, I>(schema: S, input: I): asserts input is I & S["Type"]S extends import SchemaSchema.type Schema.Constraint = /*unresolved*/ anyConstraint, function (type parameter) I in asserts<S extends Schema.Constraint, I>(schema: S, input: I): asserts input is I & S["Type"]I>(schema: S extends Schema.Constraintschema: function (type parameter) S in asserts<S extends Schema.Constraint, I>(schema: S, input: I): asserts input is I & S["Type"]S, input: Iinput: function (type parameter) I in asserts<S extends Schema.Constraint, I>(schema: S, input: I): asserts input is I & S["Type"]I): asserts input: Iinput is function (type parameter) I in asserts<S extends Schema.Constraint, I>(schema: S, input: I): asserts input is I & S["Type"]I & function (type parameter) S in asserts<S extends Schema.Constraint, I>(schema: S, input: I): asserts input is I & S["Type"]S["Type"] {
const const parser: (
input: unknown,
options?: SchemaAST.ParseOptions
) => Exit.Exit<S["Type"], SchemaIssue.Issue>
parser = function asExit<T, E, R>(
parser: (
input: E,
options?: SchemaAST.ParseOptions
) => Effect.Effect<T, SchemaIssue.Issue, R>
): (
input: E,
options?: SchemaAST.ParseOptions
) => Exit.Exit<T, SchemaIssue.Issue>
asExit(function run<T, R>(
ast: SchemaAST.AST
): (
input: unknown,
options?: SchemaAST.ParseOptions
) => Effect.Effect<T, SchemaIssue.Issue, R>
run<function (type parameter) S in asserts<S extends Schema.Constraint, I>(schema: S, input: I): asserts input is I & S["Type"]S["Type"], never>(import SchemaASTSchemaAST.toType(schema: S extends Schema.Constraintschema.ast)))
const const exit: Exit.Exit<
S["Type"],
SchemaIssue.Issue
>
exit = const parser: (
input: unknown,
options?: SchemaAST.ParseOptions
) => Exit.Exit<S["Type"], SchemaIssue.Issue>
parser(input: Iinput, import SchemaASTSchemaAST.defaultParseOptions)
if (import ExitExit.isFailure(const exit: Exit.Exit<
S["Type"],
SchemaIssue.Issue
>
exit)) {
const const issue: SchemaIssue.Issueissue = import InternalSchemaCauseInternalSchemaCause.function getSchemaIssueOrThrow(
cause: Cause.Cause<SchemaIssue.Issue>,
message: string
): SchemaIssue.Issue
getSchemaIssueOrThrow(
const exit: Exit.Failure<
S["Type"],
SchemaIssue.Issue
>
const exit: {
_tag: "Failure";
cause: Cause.Cause<E>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
toString: () => string;
toJSON: () => unknown;
}
exit.cause,
"Assertion adapter can only throw schema issues"
)
throw new var Error: ErrorConstructor
new (message?: string, options?: ErrorOptions) => Error (+1 overload)
Error(const issue: SchemaIssue.Issueissue.toString(), { ErrorOptions.cause?: SchemaIssue.Issuecause: const issue: SchemaIssue.Issueissue })
}
}