<S extends Schema.Top = Schema.Top>(
document: Document,
options?: { readonly reviver?: Reviver<Schema.Top> | undefined }
): SCreates a runtime Schema from a Document.
When to use
Use when you have a serialized or computed schema representation document and need a runtime Schema for decoding/encoding.
Details
Pass options.reviver, such as toSchemaDefaultReviver, to handle
Declaration nodes for types like Date and Option. Without a
reviver, declarations fall back to their encodedSchema. Circular references
are handled via lazy Schema.suspend.
Gotchas
This throws if a $ref is not found in document.references.
Example (Reconstructing a Schema)
import { Schema, SchemaRepresentation } from "effect"
const doc = SchemaRepresentation.fromAST(
Schema.Struct({ name: Schema.String }).ast
)
const schema = SchemaRepresentation.toSchema(doc)
console.log(JSON.stringify(Schema.toJsonSchemaDocument(schema), null, 2))export function function toSchema<
S extends Schema.Top = Schema.Top
>(
document: Document,
options?: {
readonly reviver?:
| Reviver<Schema.Top>
| undefined
}
): S
Creates a runtime Schema from a
Document
.
When to use
Use when you have a serialized or computed schema representation document and
need a runtime Schema for decoding/encoding.
Details
Pass options.reviver, such as
toSchemaDefaultReviver
, to handle
Declaration
nodes for types like Date and Option. Without a
reviver, declarations fall back to their encodedSchema. Circular references
are handled via lazy Schema.suspend.
Gotchas
This throws if a $ref is not found in document.references.
Example (Reconstructing a Schema)
import { Schema, SchemaRepresentation } from "effect"
const doc = SchemaRepresentation.fromAST(
Schema.Struct({ name: Schema.String }).ast
)
const schema = SchemaRepresentation.toSchema(doc)
console.log(JSON.stringify(Schema.toJsonSchemaDocument(schema), null, 2))
toSchema<function (type parameter) S in toSchema<S extends Schema.Top = Schema.Top>(document: Document, options?: {
readonly reviver?: Reviver<Schema.Top> | undefined;
}): S
S extends import SchemaSchema.type Schema.Top = /*unresolved*/ anyTop = import SchemaSchema.type Schema.Top = /*unresolved*/ anyTop>(document: Document(parameter) document: {
representation: Representation;
references: References;
}
document: type Document = {
readonly representation: Representation
readonly references: References
}
A single
Representation
together with its named
References
.
When to use
Use when representing a single Schema AST together with its named references
before reconstructing a runtime Schema, converting to JSON Schema, or
wrapping it as a
MultiDocument
.
Document, options: {
readonly reviver?:
| Reviver<Schema.Top>
| undefined
}
options?: {
readonly reviver?: Reviver<Schema.Top> | undefinedreviver?: type Reviver<T> = (
declaration: Declaration,
recur: (representation: Representation) => T
) => T | undefined
A callback that handles
Declaration
nodes during reconstruction
(
toSchema
) or code generation (
toCodeDocument
).
Details
Return a value to handle the declaration. Return undefined to fall back to
default behavior, which uses encodedSchema for toSchema or the
generation annotation for toCodeDocument. recur processes child
representations recursively.
Reviver<import SchemaSchema.type Schema.Top = /*unresolved*/ anyTop> | undefined
}): function (type parameter) S in toSchema<S extends Schema.Top = Schema.Top>(document: Document, options?: {
readonly reviver?: Reviver<Schema.Top> | undefined;
}): S
S {
type type Slot = {
state: 0 | 1 | 2
value: Schema.Top | undefined
ref: Schema.Top
}
Slot = {
// 0 = not started, 1 = building, 2 = done
state: 0 | 2 | 1state: 0 | 1 | 2
value: Schema.Top | undefinedvalue: import SchemaSchema.type Schema.Top = /*unresolved*/ anyTop | undefined
ref: Schema.Top(property) ref: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
ref: import SchemaSchema.type Schema.Top = /*unresolved*/ anyTop
}
const const slots: Map<string, Slot>slots = new var Map: MapConstructor
new <string, Slot>(iterable?: Iterable<readonly [string, Slot]> | null | undefined) => Map<string, Slot> (+3 overloads)
Map<string, type Slot = {
state: 0 | 1 | 2
value: Schema.Top | undefined
ref: Schema.Top
}
Slot>()
return function (local function) recur(r: Representation): Schema.Toprecur(document: Document(parameter) document: {
representation: Representation;
references: References;
}
document.representation: Representationrepresentation) as function (type parameter) S in toSchema<S extends Schema.Top = Schema.Top>(document: Document, options?: {
readonly reviver?: Reviver<Schema.Top> | undefined;
}): S
S
function function (local function) recur(r: Representation): Schema.Toprecur(r: Representationr: type Representation =
| Declaration
| Reference
| Suspend
| Null
| Undefined
| Void
| Never
| Unknown
| Any
| String
| Number
| Boolean
| BigInt
| Symbol
| Literal
| UniqueSymbol
| ObjectKeyword
| Enum
| TemplateLiteral
| Arrays
| Objects
| Union
The core tagged union of all supported schema shapes.
Details
Each variant has a _tag discriminator. Switch on _tag to handle each
shape. Most variants carry optional annotations and some carry checks
for validation constraints.
Representation): import SchemaSchema.type Schema.Top = /*unresolved*/ anyTop {
let let out: Schema.Toplet out: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
out = function (local function) on(r: Representation): Schema.Topon(r: Representationr)
if ("annotations" in r: Representationr && r: Representationr.annotations?: anyannotations) let out: Schema.Toplet out: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
out = let out: Schema.Toplet out: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
out.annotate(r: Representationr.annotations?: anyannotations)
let out: Schema.Toplet out: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
out = function (local function) toSchemaChecks(top: Schema.Top, schema: Representation): Schema.ToptoSchemaChecks(let out: Schema.Toplet out: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
out, r: Representationr)
return let out: Schema.Toplet out: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
out
}
function function (local function) getSlot(identifier: string): SlotgetSlot(identifier: stringidentifier: string): type Slot = {
state: 0 | 1 | 2
value: Schema.Top | undefined
ref: Schema.Top
}
Slot {
const const existing: Slot | undefinedexisting = const slots: Map<string, Slot>slots.Map<string, Slot>.get(key: string): Slot | undefinedReturns a specified element from the Map object. If the value that is associated to the provided key is an object, then you will get a reference to that object and any change made to that object will effectively modify it inside the Map.
get(identifier: stringidentifier)
if (const existing: Slot | undefinedexisting) return const existing: Slotconst existing: {
state: 0 | 1 | 2;
value: Schema.Top | undefined;
ref: Schema.Top;
}
existing
// Create the slot *before* resolving, so self-references can see it.
const const slot: Slotconst slot: {
state: 0 | 1 | 2;
value: Schema.Top | undefined;
ref: Schema.Top;
}
slot: type Slot = {
state: 0 | 1 | 2
value: Schema.Top | undefined
ref: Schema.Top
}
Slot = {
state: 0 | 2 | 1state: 0,
value: anyvalue: var undefinedundefined,
ref: Schema.suspend<
Schema.Top | Schema.Unknown
>
(property) ref: {
Type: S["Type"];
Encoded: S["Encoded"];
DecodingServices: S["DecodingServices"];
EncodingServices: S["EncodingServices"];
Iso: S["Iso"];
Rebuild: Rebuild;
ast: Ast;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.suspend<Schema.Top | Schema.Unknown>;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.suspend<Schema.Top | Schema.Unknown>;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.suspend<Schema.Top | Schema.Unknown>;
rebuild: (ast: SchemaAST.Suspend) => Schema.suspend<Schema.Top | Schema.Unknown>;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
ref: import SchemaSchema.suspend(() => {
if (const slot: Slotconst slot: {
state: 0 | 1 | 2;
value: Schema.Top | undefined;
ref: Schema.Top;
}
slot.value: Schema.Top | undefinedvalue === var undefinedundefined) {
return import SchemaSchema.Unknown
}
return const slot: Slotconst slot: {
state: 0 | 1 | 2;
value: Schema.Top | undefined;
ref: Schema.Top;
}
slot.value: Schema.Top | undefined(property) value: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
value
})
}
const slots: Map<string, Slot>slots.Map<string, Slot>.set(key: string, value: Slot): Map<string, Slot>Adds a new element with a specified key and value to the Map. If an element with the same key already exists, the element will be updated.
set(identifier: stringidentifier, const slot: Slotconst slot: {
state: 0 | 1 | 2;
value: Schema.Top | undefined;
ref: Schema.Top;
}
slot)
return const slot: Slotconst slot: {
state: 0 | 1 | 2;
value: Schema.Top | undefined;
ref: Schema.Top;
}
slot
}
function function (local function) resolveReference($ref: string): Schema.TopresolveReference($ref: string$ref: string): import SchemaSchema.type Schema.Top = /*unresolved*/ anyTop {
const const definition: Representationdefinition = document: Document(parameter) document: {
representation: Representation;
references: References;
}
document.references: Referencesreferences[$ref: string$ref]
if (const definition: Representationdefinition === var undefinedundefined) {
throw new var Error: ErrorConstructor
new (message?: string, options?: ErrorOptions) => Error (+1 overload)
Error(`Reference ${$ref: string$ref} not found`)
}
const const slot: Slotconst slot: {
state: 0 | 1 | 2;
value: Schema.Top | undefined;
ref: Schema.Top;
}
slot = function (local function) getSlot(identifier: string): SlotgetSlot($ref: string$ref)
if (const slot: Slotconst slot: {
state: 0 | 1 | 2;
value: Schema.Top | undefined;
ref: Schema.Top;
}
slot.state: 0 | 2 | 1state === 2) {
// Already built: return the built schema directly
return const slot: Slotconst slot: {
state: 0 | 1 | 2;
value: Schema.Top | undefined;
ref: Schema.Top;
}
slot.value: Schema.Top | undefinedvalue!
}
if (const slot: Slotconst slot: {
state: 0 | 1 | 2;
value: Schema.Top | undefined;
ref: Schema.Top;
}
slot.state: 0 | 1state === 1) {
// Circular: we're currently building this identifier.
return const slot: Slotconst slot: {
state: 0 | 1 | 2;
value: Schema.Top | undefined;
ref: Schema.Top;
}
slot.ref: Schema.Top(property) ref: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
ref
}
// First time: build it.
const slot: Slotconst slot: {
state: 0 | 1 | 2;
value: Schema.Top | undefined;
ref: Schema.Top;
}
slot.state: 0 | 2 | 1state = 1
try {
const slot: Slotconst slot: {
state: 0 | 1 | 2;
value: Schema.Top | undefined;
ref: Schema.Top;
}
slot.value: Schema.Top | undefinedvalue = function (local function) recur(r: Representation): Schema.Toprecur(const definition: Representationdefinition)
const slot: Slotconst slot: {
state: 0 | 1 | 2;
value: Schema.Top | undefined;
ref: Schema.Top;
}
slot.state: 0 | 2 | 1state = 2
return const slot: Slotconst slot: {
state: 0 | 1 | 2;
value: Schema.Top | undefined;
ref: Schema.Top;
}
slot.value: Schema.Top | undefined(property) value: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
value
} catch (function (local var) e: unknowne) {
// Leave the slot in a safe state so future thunks don't silently succeed.
const slot: Slotconst slot: {
state: 0 | 1 | 2;
value: Schema.Top | undefined;
ref: Schema.Top;
}
slot.state: 0 | 2 | 1state = 0
const slot: Slotconst slot: {
state: 0 | 1 | 2;
value: Schema.Top | undefined;
ref: Schema.Top;
}
slot.value: Schema.Top | undefinedvalue = var undefinedundefined
throw function (local var) e: unknowne
}
}
function function (local function) on(r: Representation): Schema.Topon(r: Representationr: type Representation =
| Declaration
| Reference
| Suspend
| Null
| Undefined
| Void
| Never
| Unknown
| Any
| String
| Number
| Boolean
| BigInt
| Symbol
| Literal
| UniqueSymbol
| ObjectKeyword
| Enum
| TemplateLiteral
| Arrays
| Objects
| Union
The core tagged union of all supported schema shapes.
Details
Each variant has a _tag discriminator. Switch on _tag to handle each
shape. Most variants carry optional annotations and some carry checks
for validation constraints.
Representation): import SchemaSchema.type Schema.Top = /*unresolved*/ anyTop {
switch (r: Representationr._tag: | "Declaration"
| "Suspend"
| "Reference"
| "Null"
| "Undefined"
| "Void"
| "Never"
| "Unknown"
| "Any"
| "String"
| "Number"
| "Boolean"
| "BigInt"
| "Symbol"
| "Literal"
| "UniqueSymbol"
| "ObjectKeyword"
| "Enum"
| "TemplateLiteral"
| "Arrays"
| "Objects"
| "Union"
_tag) {
case "Declaration":
return options: {
readonly reviver?:
| Reviver<Schema.Top>
| undefined
}
options?.reviver?: Reviver<Schema.Top> | undefinedreviver?.(r: Representation(parameter) r: {
_tag: "Declaration";
annotations: Schema.Annotations.Annotations | undefined;
typeParameters: ReadonlyArray<Representation>;
checks: ReadonlyArray<Check<DeclarationMeta>>;
encodedSchema: Representation;
}
r, function (local function) recur(r: Representation): Schema.Toprecur) ?? function (local function) recur(r: Representation): Schema.Toprecur(r: Representation(parameter) r: {
_tag: "Declaration";
annotations: Schema.Annotations.Annotations | undefined;
typeParameters: ReadonlyArray<Representation>;
checks: ReadonlyArray<Check<DeclarationMeta>>;
encodedSchema: Representation;
}
r.Declaration.encodedSchema: RepresentationencodedSchema)
case "Reference":
return function (local function) resolveReference($ref: string): Schema.TopresolveReference(r: Representation(parameter) r: {
_tag: "Reference";
$ref: string;
}
r.Reference.$ref: string$ref)
case "Suspend":
return function (local function) recur(r: Representation): Schema.Toprecur(r: Representation(parameter) r: {
_tag: "Suspend";
annotations: Schema.Annotations.Annotations | undefined;
checks: readonly [];
thunk: Representation;
}
r.Suspend.thunk: Representationthunk)
case "Null":
return import SchemaSchema.Null
case "Undefined":
return import SchemaSchema.Undefined
case "Void":
return import SchemaSchema.Void
case "Never":
return import SchemaSchema.Never
case "Unknown":
return import SchemaSchema.Unknown
case "Any":
return import SchemaSchema.Any
case "String": {
const const contentMediaType: string | undefinedcontentMediaType = r: Representation(parameter) r: {
_tag: "String";
annotations: Schema.Annotations.Annotations | undefined;
checks: ReadonlyArray<Check<StringMeta>>;
contentMediaType: string | undefined;
contentSchema: Representation | undefined;
}
r.String.contentMediaType?: string | undefinedcontentMediaType
const const contentSchema:
| Representation
| undefined
contentSchema = r: Representation(parameter) r: {
_tag: "String";
annotations: Schema.Annotations.Annotations | undefined;
checks: ReadonlyArray<Check<StringMeta>>;
contentMediaType: string | undefined;
contentSchema: Representation | undefined;
}
r.String.contentSchema?: Representation | undefinedcontentSchema
if (const contentMediaType: string | undefinedcontentMediaType === "application/json" && const contentSchema:
| Representation
| undefined
contentSchema !== var undefinedundefined) {
return import SchemaSchema.fromJsonString(function (local function) recur(r: Representation): Schema.Toprecur(const contentSchema: RepresentationcontentSchema))
}
return import SchemaSchema.String
}
case "Number":
return import SchemaSchema.Number
case "Boolean":
return import SchemaSchema.Boolean
case "BigInt":
return import SchemaSchema.BigInt
case "Symbol":
return import SchemaSchema.Symbol
case "Literal":
return import SchemaSchema.Literal(r: Representation(parameter) r: {
_tag: "Literal";
annotations: Schema.Annotations.Annotations | undefined;
literal: string | number | boolean | bigint;
}
r.Literal.literal: string | number | bigint | booleanliteral)
case "UniqueSymbol":
return import SchemaSchema.UniqueSymbol(r: Representation(parameter) r: {
_tag: "UniqueSymbol";
annotations: Schema.Annotations.Annotations | undefined;
symbol: symbol;
}
r.UniqueSymbol.symbol: symbolsymbol)
case "ObjectKeyword":
return import SchemaSchema.ObjectKeyword
case "Enum":
return import SchemaSchema.Enum(var Object: ObjectConstructorProvides functionality common to all JavaScript objects.
Object.ObjectConstructor.fromEntries<string | number>(entries: Iterable<readonly [PropertyKey, string | number]>): {
[k: string]: string | number;
} (+1 overload)
Returns an object created by key-value entries for properties and methods
fromEntries(r: Representation(parameter) r: {
_tag: "Enum";
annotations: Schema.Annotations.Annotations | undefined;
enums: ReadonlyArray<readonly [string, string | number]>;
}
r.Enum.enums: readonly (readonly [string, string | number])[]enums))
case "TemplateLiteral": {
const const parts: Schema.TemplateLiteral.Partsconst parts: {
length: number;
toString: () => string;
toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string };
concat: { (...items: Array<ConcatArray<Schema.TemplateLiteral.Part>>): Array<Schema.TemplateLiteral.Part>; (...items: Array<Schema.TemplateLiteral.Part | ConcatArray<Schema.TemplateLiteral.Part>>): Array<Schema.TemplateLiteral.Part> };
join: (separator?: string) => string;
slice: (start?: number, end?: number) => Array<Schema.TemplateLiteral.Part>;
indexOf: (searchElement: Schema.TemplateLiteral.Part, fromIndex?: number) => number;
lastIndexOf: (searchElement: Schema.TemplateLiteral.Part, fromIndex?: number) => number;
every: { (predicate: (value: Schema.TemplateLiteral.Part, index: number, array: ReadonlyArray<Schema.TemplateLiteral.Part>) => value is S, thisArg?: any): this is readonly S[]; (predicate: (value: Schema.TemplateLiteral.Part, index: number, array…;
some: (predicate: (value: Schema.TemplateLiteral.Part, index: number, array: ReadonlyArray<Schema.TemplateLiteral.Part>) => unknown, thisArg?: any) => boolean;
forEach: (callbackfn: (value: Schema.TemplateLiteral.Part, index: number, array: ReadonlyArray<Schema.TemplateLiteral.Part>) => void, thisArg?: any) => void;
map: (callbackfn: (value: Schema.TemplateLiteral.Part, index: number, array: ReadonlyArray<Schema.TemplateLiteral.Part>) => U, thisArg?: any) => Array<U>;
filter: { (predicate: (value: Schema.TemplateLiteral.Part, index: number, array: ReadonlyArray<Schema.TemplateLiteral.Part>) => value is S, thisArg?: any): Array<S>; (predicate: (value: Schema.TemplateLiteral.Part, index: number, array: ReadonlyAr…;
reduce: { (callbackfn: (previousValue: Schema.TemplateLiteral.Part, currentValue: Schema.TemplateLiteral.Part, currentIndex: number, array: ReadonlyArray<Schema.TemplateLiteral.Part>) => Schema.TemplateLiteral.Part): Schema.TemplateLiteral.Part; (…;
reduceRight: { (callbackfn: (previousValue: Schema.TemplateLiteral.Part, currentValue: Schema.TemplateLiteral.Part, currentIndex: number, array: ReadonlyArray<Schema.TemplateLiteral.Part>) => Schema.TemplateLiteral.Part): Schema.TemplateLiteral.Part; (…;
find: { (predicate: (value: Schema.TemplateLiteral.Part, index: number, obj: ReadonlyArray<Schema.TemplateLiteral.Part>) => value is S, thisArg?: any): S | undefined; (predicate: (value: Schema.TemplateLiteral.Part, index: number, obj: ReadonlyA…;
findIndex: (predicate: (value: Schema.TemplateLiteral.Part, index: number, obj: ReadonlyArray<Schema.TemplateLiteral.Part>) => unknown, thisArg?: any) => number;
entries: () => ArrayIterator<[number, Schema.TemplateLiteral.Part]>;
keys: () => ArrayIterator<number>;
values: () => ArrayIterator<Schema.TemplateLiteral.Part>;
includes: (searchElement: Schema.TemplateLiteral.Part, fromIndex?: number) => boolean;
flatMap: (callback: (this: This, value: Schema.TemplateLiteral.Part, index: number, array: Array<Schema.TemplateLiteral.Part>) => U | ReadonlyArray<U>, thisArg?: This | undefined) => Array<U>;
flat: (this: A, depth?: D | undefined) => Array<FlatArray<A, D>>;
at: (index: number) => Schema.TemplateLiteral.Part | undefined;
findLast: { (predicate: (value: Schema.TemplateLiteral.Part, index: number, array: ReadonlyArray<Schema.TemplateLiteral.Part>) => value is S, thisArg?: any): S | undefined; (predicate: (value: Schema.TemplateLiteral.Part, index: number, array: Reado…;
findLastIndex: (predicate: (value: Schema.TemplateLiteral.Part, index: number, array: ReadonlyArray<Schema.TemplateLiteral.Part>) => unknown, thisArg?: any) => number;
toReversed: () => Array<Schema.TemplateLiteral.Part>;
toSorted: (compareFn?: ((a: Schema.TemplateLiteral.Part, b: Schema.TemplateLiteral.Part) => number) | undefined) => Array<Schema.TemplateLiteral.Part>;
toSpliced: { (start: number, deleteCount: number, ...items: Array<Schema.TemplateLiteral.Part>): Array<Schema.TemplateLiteral.Part>; (start: number, deleteCount?: number): Array<Schema.TemplateLiteral.Part> };
with: (index: number, value: Schema.TemplateLiteral.Part) => Array<Schema.TemplateLiteral.Part>;
}
parts = r: Representation(parameter) r: {
_tag: "TemplateLiteral";
annotations: Schema.Annotations.Annotations | undefined;
parts: ReadonlyArray<Representation>;
}
r.TemplateLiteral.parts: ReadonlyArray<Representation>parts.ReadonlyArray<Representation>.map<Schema.Top>(callbackfn: (value: Representation, index: number, array: readonly Representation[]) => Schema.Top, thisArg?: any): Schema.Top[]Calls a defined callback function on each element of an array, and returns an array that contains the results.
map(function (local function) recur(r: Representation): Schema.Toprecur) as import SchemaSchema.declareTemplateLiteral.type Schema.TemplateLiteral.Parts = /*unresolved*/ anyParts
return import SchemaSchema.TemplateLiteral(const parts: Schema.TemplateLiteral.Partsconst parts: {
length: number;
toString: () => string;
toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string };
concat: { (...items: Array<ConcatArray<Schema.TemplateLiteral.Part>>): Array<Schema.TemplateLiteral.Part>; (...items: Array<Schema.TemplateLiteral.Part | ConcatArray<Schema.TemplateLiteral.Part>>): Array<Schema.TemplateLiteral.Part> };
join: (separator?: string) => string;
slice: (start?: number, end?: number) => Array<Schema.TemplateLiteral.Part>;
indexOf: (searchElement: Schema.TemplateLiteral.Part, fromIndex?: number) => number;
lastIndexOf: (searchElement: Schema.TemplateLiteral.Part, fromIndex?: number) => number;
every: { (predicate: (value: Schema.TemplateLiteral.Part, index: number, array: ReadonlyArray<Schema.TemplateLiteral.Part>) => value is S, thisArg?: any): this is readonly S[]; (predicate: (value: Schema.TemplateLiteral.Part, index: number, array…;
some: (predicate: (value: Schema.TemplateLiteral.Part, index: number, array: ReadonlyArray<Schema.TemplateLiteral.Part>) => unknown, thisArg?: any) => boolean;
forEach: (callbackfn: (value: Schema.TemplateLiteral.Part, index: number, array: ReadonlyArray<Schema.TemplateLiteral.Part>) => void, thisArg?: any) => void;
map: (callbackfn: (value: Schema.TemplateLiteral.Part, index: number, array: ReadonlyArray<Schema.TemplateLiteral.Part>) => U, thisArg?: any) => Array<U>;
filter: { (predicate: (value: Schema.TemplateLiteral.Part, index: number, array: ReadonlyArray<Schema.TemplateLiteral.Part>) => value is S, thisArg?: any): Array<S>; (predicate: (value: Schema.TemplateLiteral.Part, index: number, array: ReadonlyAr…;
reduce: { (callbackfn: (previousValue: Schema.TemplateLiteral.Part, currentValue: Schema.TemplateLiteral.Part, currentIndex: number, array: ReadonlyArray<Schema.TemplateLiteral.Part>) => Schema.TemplateLiteral.Part): Schema.TemplateLiteral.Part; (…;
reduceRight: { (callbackfn: (previousValue: Schema.TemplateLiteral.Part, currentValue: Schema.TemplateLiteral.Part, currentIndex: number, array: ReadonlyArray<Schema.TemplateLiteral.Part>) => Schema.TemplateLiteral.Part): Schema.TemplateLiteral.Part; (…;
find: { (predicate: (value: Schema.TemplateLiteral.Part, index: number, obj: ReadonlyArray<Schema.TemplateLiteral.Part>) => value is S, thisArg?: any): S | undefined; (predicate: (value: Schema.TemplateLiteral.Part, index: number, obj: ReadonlyA…;
findIndex: (predicate: (value: Schema.TemplateLiteral.Part, index: number, obj: ReadonlyArray<Schema.TemplateLiteral.Part>) => unknown, thisArg?: any) => number;
entries: () => ArrayIterator<[number, Schema.TemplateLiteral.Part]>;
keys: () => ArrayIterator<number>;
values: () => ArrayIterator<Schema.TemplateLiteral.Part>;
includes: (searchElement: Schema.TemplateLiteral.Part, fromIndex?: number) => boolean;
flatMap: (callback: (this: This, value: Schema.TemplateLiteral.Part, index: number, array: Array<Schema.TemplateLiteral.Part>) => U | ReadonlyArray<U>, thisArg?: This | undefined) => Array<U>;
flat: (this: A, depth?: D | undefined) => Array<FlatArray<A, D>>;
at: (index: number) => Schema.TemplateLiteral.Part | undefined;
findLast: { (predicate: (value: Schema.TemplateLiteral.Part, index: number, array: ReadonlyArray<Schema.TemplateLiteral.Part>) => value is S, thisArg?: any): S | undefined; (predicate: (value: Schema.TemplateLiteral.Part, index: number, array: Reado…;
findLastIndex: (predicate: (value: Schema.TemplateLiteral.Part, index: number, array: ReadonlyArray<Schema.TemplateLiteral.Part>) => unknown, thisArg?: any) => number;
toReversed: () => Array<Schema.TemplateLiteral.Part>;
toSorted: (compareFn?: ((a: Schema.TemplateLiteral.Part, b: Schema.TemplateLiteral.Part) => number) | undefined) => Array<Schema.TemplateLiteral.Part>;
toSpliced: { (start: number, deleteCount: number, ...items: Array<Schema.TemplateLiteral.Part>): Array<Schema.TemplateLiteral.Part>; (start: number, deleteCount?: number): Array<Schema.TemplateLiteral.Part> };
with: (index: number, value: Schema.TemplateLiteral.Part) => Array<Schema.TemplateLiteral.Part>;
}
parts)
}
case "Arrays": {
const const elements: Array<Schema.Top>elements = r: Representation(parameter) r: {
_tag: "Arrays";
annotations: Schema.Annotations.Annotations | undefined;
elements: ReadonlyArray<Element>;
rest: ReadonlyArray<Representation>;
checks: ReadonlyArray<Check<ArraysMeta>>;
}
r.Arrays.elements: ReadonlyArray<Element>elements.ReadonlyArray<Element>.map<any>(callbackfn: (value: Element, index: number, array: readonly Element[]) => any, thisArg?: any): any[]Calls a defined callback function on each element of an array, and returns an array that contains the results.
map((e: Element(parameter) e: {
isOptional: boolean;
type: Representation;
annotations: Schema.Annotations.Annotations | undefined;
}
e) => {
const const s: Schema.Topconst s: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
s = function (local function) recur(r: Representation): Schema.Toprecur(e: Element(parameter) e: {
isOptional: boolean;
type: Representation;
annotations: Schema.Annotations.Annotations | undefined;
}
e.Element.type: Representationtype)
return e: Element(parameter) e: {
isOptional: boolean;
type: Representation;
annotations: Schema.Annotations.Annotations | undefined;
}
e.Element.isOptional: booleanisOptional ? import SchemaSchema.optionalKey(const s: Schema.Topconst s: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
s) : const s: Schema.Topconst s: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
s
})
const const rest: Array<Schema.Top>rest = r: Representation(parameter) r: {
_tag: "Arrays";
annotations: Schema.Annotations.Annotations | undefined;
elements: ReadonlyArray<Element>;
rest: ReadonlyArray<Representation>;
checks: ReadonlyArray<Check<ArraysMeta>>;
}
r.Arrays.rest: ReadonlyArray<Representation>rest.ReadonlyArray<Representation>.map<Schema.Top>(callbackfn: (value: Representation, index: number, array: readonly Representation[]) => Schema.Top, thisArg?: any): Schema.Top[]Calls a defined callback function on each element of an array, and returns an array that contains the results.
map(function (local function) recur(r: Representation): Schema.Toprecur)
if (import ArrArr.isArrayNonEmpty(const rest: Array<Schema.Top>rest)) {
if (r: Representation(parameter) r: {
_tag: "Arrays";
annotations: Schema.Annotations.Annotations | undefined;
elements: ReadonlyArray<Element>;
rest: ReadonlyArray<Representation>;
checks: ReadonlyArray<Check<ArraysMeta>>;
}
r.Arrays.elements: ReadonlyArray<Element>elements.ReadonlyArray<Element>.length: numberGets the length of the array. This is a number one higher than the highest element defined in an array.
length === 0 && r: Representation(parameter) r: {
_tag: "Arrays";
annotations: Schema.Annotations.Annotations | undefined;
elements: ReadonlyArray<Element>;
rest: ReadonlyArray<Representation>;
checks: ReadonlyArray<Check<ArraysMeta>>;
}
r.Arrays.rest: ReadonlyArray<Representation>rest.ReadonlyArray<Representation>.length: numberGets the length of the array. This is a number one higher than the highest element defined in an array.
length === 1) {
return import SchemaSchema.Array(const rest: Schema.Top[]const rest: {
0: Schema.Top;
length: number;
toString: () => string;
toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string };
pop: () => Schema.Top | undefined;
push: (...items: Array<Schema.Top>) => number;
concat: { (...items: Array<ConcatArray<Schema.Top>>): Array<Schema.Top>; (...items: Array<Schema.Top | ConcatArray<Schema.Top>>): Array<Schema.Top> };
join: (separator?: string) => string;
reverse: () => Array<Schema.Top>;
shift: () => Schema.Top | undefined;
slice: (start?: number, end?: number) => Array<Schema.Top>;
sort: (compareFn?: ((a: Schema.Top, b: Schema.Top) => number) | undefined) => [Schema.Top, ...Schema.Top[]];
splice: { (start: number, deleteCount?: number): Array<Schema.Top>; (start: number, deleteCount: number, ...items: Array<Schema.Top>): Array<Schema.Top> };
unshift: (...items: Array<Schema.Top>) => number;
indexOf: (searchElement: Schema.Top, fromIndex?: number) => number;
lastIndexOf: (searchElement: Schema.Top, fromIndex?: number) => number;
every: { (predicate: (value: Schema.Top, index: number, array: Array<Schema.Top>) => value is S, thisArg?: any): this is S[]; (predicate: (value: Schema.Top, index: number, array: Array<Schema.Top>) => unknown, thisArg?: any): boolean };
some: (predicate: (value: Schema.Top, index: number, array: Array<Schema.Top>) => unknown, thisArg?: any) => boolean;
forEach: (callbackfn: (value: Schema.Top, index: number, array: Array<Schema.Top>) => void, thisArg?: any) => void;
map: (callbackfn: (value: Schema.Top, index: number, array: Array<Schema.Top>) => U, thisArg?: any) => Array<U>;
filter: { (predicate: (value: Schema.Top, index: number, array: Array<Schema.Top>) => value is S, thisArg?: any): Array<S>; (predicate: (value: Schema.Top, index: number, array: Array<Schema.Top>) => unknown, thisArg?: any): Array<Schema.Top> };
reduce: { (callbackfn: (previousValue: Schema.Top, currentValue: Schema.Top, currentIndex: number, array: Array<Schema.Top>) => Schema.Top): Schema.Top; (callbackfn: (previousValue: Schema.Top, currentValue: Schema.Top, currentIndex: number, array…;
reduceRight: { (callbackfn: (previousValue: Schema.Top, currentValue: Schema.Top, currentIndex: number, array: Array<Schema.Top>) => Schema.Top): Schema.Top; (callbackfn: (previousValue: Schema.Top, currentValue: Schema.Top, currentIndex: number, array…;
find: { (predicate: (value: Schema.Top, index: number, obj: Array<Schema.Top>) => value is S, thisArg?: any): S | undefined; (predicate: (value: Schema.Top, index: number, obj: Array<Schema.Top>) => unknown, thisArg?: any): Schema.Top | undefine…;
findIndex: (predicate: (value: Schema.Top, index: number, obj: Array<Schema.Top>) => unknown, thisArg?: any) => number;
fill: (value: Schema.Top, start?: number, end?: number) => [Schema.Top, ...Schema.Top[]];
copyWithin: (target: number, start: number, end?: number) => [Schema.Top, ...Schema.Top[]];
entries: () => ArrayIterator<[number, Schema.Top]>;
keys: () => ArrayIterator<number>;
values: () => ArrayIterator<Schema.Top>;
includes: (searchElement: Schema.Top, fromIndex?: number) => boolean;
flatMap: (callback: (this: This, value: Schema.Top, index: number, array: Array<Schema.Top>) => U | ReadonlyArray<U>, thisArg?: This | undefined) => Array<U>;
flat: (this: A, depth?: D | undefined) => Array<FlatArray<A, D>>;
at: (index: number) => Schema.Top | undefined;
findLast: { (predicate: (value: Schema.Top, index: number, array: Array<Schema.Top>) => value is S, thisArg?: any): S | undefined; (predicate: (value: Schema.Top, index: number, array: Array<Schema.Top>) => unknown, thisArg?: any): Schema.Top | unde…;
findLastIndex: (predicate: (value: Schema.Top, index: number, array: Array<Schema.Top>) => unknown, thisArg?: any) => number;
toReversed: () => Array<Schema.Top>;
toSorted: (compareFn?: ((a: Schema.Top, b: Schema.Top) => number) | undefined) => Array<Schema.Top>;
toSpliced: { (start: number, deleteCount: number, ...items: Array<Schema.Top>): Array<Schema.Top>; (start: number, deleteCount?: number): Array<Schema.Top> };
with: (index: number, value: Schema.Top) => Array<Schema.Top>;
}
rest[0])
}
return import SchemaSchema.TupleWithRest(import SchemaSchema.Tuple(const elements: Array<Schema.Top>elements), const rest: Schema.Top[]const rest: {
0: Schema.Top;
length: number;
toString: () => string;
toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string };
pop: () => Schema.Top | undefined;
push: (...items: Array<Schema.Top>) => number;
concat: { (...items: Array<ConcatArray<Schema.Top>>): Array<Schema.Top>; (...items: Array<Schema.Top | ConcatArray<Schema.Top>>): Array<Schema.Top> };
join: (separator?: string) => string;
reverse: () => Array<Schema.Top>;
shift: () => Schema.Top | undefined;
slice: (start?: number, end?: number) => Array<Schema.Top>;
sort: (compareFn?: ((a: Schema.Top, b: Schema.Top) => number) | undefined) => [Schema.Top, ...Schema.Top[]];
splice: { (start: number, deleteCount?: number): Array<Schema.Top>; (start: number, deleteCount: number, ...items: Array<Schema.Top>): Array<Schema.Top> };
unshift: (...items: Array<Schema.Top>) => number;
indexOf: (searchElement: Schema.Top, fromIndex?: number) => number;
lastIndexOf: (searchElement: Schema.Top, fromIndex?: number) => number;
every: { (predicate: (value: Schema.Top, index: number, array: Array<Schema.Top>) => value is S, thisArg?: any): this is S[]; (predicate: (value: Schema.Top, index: number, array: Array<Schema.Top>) => unknown, thisArg?: any): boolean };
some: (predicate: (value: Schema.Top, index: number, array: Array<Schema.Top>) => unknown, thisArg?: any) => boolean;
forEach: (callbackfn: (value: Schema.Top, index: number, array: Array<Schema.Top>) => void, thisArg?: any) => void;
map: (callbackfn: (value: Schema.Top, index: number, array: Array<Schema.Top>) => U, thisArg?: any) => Array<U>;
filter: { (predicate: (value: Schema.Top, index: number, array: Array<Schema.Top>) => value is S, thisArg?: any): Array<S>; (predicate: (value: Schema.Top, index: number, array: Array<Schema.Top>) => unknown, thisArg?: any): Array<Schema.Top> };
reduce: { (callbackfn: (previousValue: Schema.Top, currentValue: Schema.Top, currentIndex: number, array: Array<Schema.Top>) => Schema.Top): Schema.Top; (callbackfn: (previousValue: Schema.Top, currentValue: Schema.Top, currentIndex: number, array…;
reduceRight: { (callbackfn: (previousValue: Schema.Top, currentValue: Schema.Top, currentIndex: number, array: Array<Schema.Top>) => Schema.Top): Schema.Top; (callbackfn: (previousValue: Schema.Top, currentValue: Schema.Top, currentIndex: number, array…;
find: { (predicate: (value: Schema.Top, index: number, obj: Array<Schema.Top>) => value is S, thisArg?: any): S | undefined; (predicate: (value: Schema.Top, index: number, obj: Array<Schema.Top>) => unknown, thisArg?: any): Schema.Top | undefine…;
findIndex: (predicate: (value: Schema.Top, index: number, obj: Array<Schema.Top>) => unknown, thisArg?: any) => number;
fill: (value: Schema.Top, start?: number, end?: number) => [Schema.Top, ...Schema.Top[]];
copyWithin: (target: number, start: number, end?: number) => [Schema.Top, ...Schema.Top[]];
entries: () => ArrayIterator<[number, Schema.Top]>;
keys: () => ArrayIterator<number>;
values: () => ArrayIterator<Schema.Top>;
includes: (searchElement: Schema.Top, fromIndex?: number) => boolean;
flatMap: (callback: (this: This, value: Schema.Top, index: number, array: Array<Schema.Top>) => U | ReadonlyArray<U>, thisArg?: This | undefined) => Array<U>;
flat: (this: A, depth?: D | undefined) => Array<FlatArray<A, D>>;
at: (index: number) => Schema.Top | undefined;
findLast: { (predicate: (value: Schema.Top, index: number, array: Array<Schema.Top>) => value is S, thisArg?: any): S | undefined; (predicate: (value: Schema.Top, index: number, array: Array<Schema.Top>) => unknown, thisArg?: any): Schema.Top | unde…;
findLastIndex: (predicate: (value: Schema.Top, index: number, array: Array<Schema.Top>) => unknown, thisArg?: any) => number;
toReversed: () => Array<Schema.Top>;
toSorted: (compareFn?: ((a: Schema.Top, b: Schema.Top) => number) | undefined) => Array<Schema.Top>;
toSpliced: { (start: number, deleteCount: number, ...items: Array<Schema.Top>): Array<Schema.Top>; (start: number, deleteCount?: number): Array<Schema.Top> };
with: (index: number, value: Schema.Top) => Array<Schema.Top>;
}
rest)
}
return import SchemaSchema.Tuple(const elements: Array<Schema.Top>elements)
}
case "Objects": {
const const fields: Record<
PropertyKey,
Schema.Top
>
fields: type Record<K extends keyof any, T> = {
[P in K]: T
}
Construct a type with a set of properties K of type T
Record<type PropertyKey =
| string
| number
| symbol
PropertyKey, import SchemaSchema.type Schema.Top = /*unresolved*/ anyTop> = {}
for (const const ps: PropertySignatureconst ps: {
name: PropertyKey;
type: Representation;
isOptional: boolean;
isMutable: boolean;
annotations: Schema.Annotations.Annotations | undefined;
}
ps of r: Representation(parameter) r: {
_tag: "Objects";
annotations: Schema.Annotations.Annotations | undefined;
propertySignatures: ReadonlyArray<PropertySignature>;
indexSignatures: ReadonlyArray<IndexSignature>;
checks: ReadonlyArray<Check<ObjectsMeta>>;
}
r.Objects.propertySignatures: ReadonlyArray<PropertySignature>propertySignatures) {
const const s: Schema.Topconst s: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
s = function (local function) recur(r: Representation): Schema.Toprecur(const ps: PropertySignatureconst ps: {
name: PropertyKey;
type: Representation;
isOptional: boolean;
isMutable: boolean;
annotations: Schema.Annotations.Annotations | undefined;
}
ps.PropertySignature.type: Representationtype)
const const withOptional: Schema.Topconst withOptional: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
withOptional = const ps: PropertySignatureconst ps: {
name: PropertyKey;
type: Representation;
isOptional: boolean;
isMutable: boolean;
annotations: Schema.Annotations.Annotations | undefined;
}
ps.PropertySignature.isOptional: booleanisOptional ? import SchemaSchema.optionalKey(const s: Schema.Topconst s: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
s) : const s: Schema.Topconst s: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
s
const fields: Record<
PropertyKey,
Schema.Top
>
fields[const ps: PropertySignatureconst ps: {
name: PropertyKey;
type: Representation;
isOptional: boolean;
isMutable: boolean;
annotations: Schema.Annotations.Annotations | undefined;
}
ps.PropertySignature.name: PropertyKeyname] = const ps: PropertySignatureconst ps: {
name: PropertyKey;
type: Representation;
isOptional: boolean;
isMutable: boolean;
annotations: Schema.Annotations.Annotations | undefined;
}
ps.PropertySignature.isMutable: booleanisMutable ? import SchemaSchema.mutableKey(const withOptional: Schema.Topconst withOptional: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
withOptional) : const withOptional: Schema.Topconst withOptional: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
withOptional
}
const const indexSignatures: Array<
Schema.$Record<Schema.Record.Key, Schema.Top>
>
indexSignatures = r: Representation(parameter) r: {
_tag: "Objects";
annotations: Schema.Annotations.Annotations | undefined;
propertySignatures: ReadonlyArray<PropertySignature>;
indexSignatures: ReadonlyArray<IndexSignature>;
checks: ReadonlyArray<Check<ObjectsMeta>>;
}
r.Objects.indexSignatures: ReadonlyArray<IndexSignature>indexSignatures.ReadonlyArray<IndexSignature>.map<any>(callbackfn: (value: IndexSignature, index: number, array: readonly IndexSignature[]) => any, thisArg?: any): any[]Calls a defined callback function on each element of an array, and returns an array that contains the results.
map((is: IndexSignature(parameter) is: {
parameter: Representation;
type: Representation;
}
is) =>
import SchemaSchema.Record(function (local function) recur(r: Representation): Schema.Toprecur(is: IndexSignature(parameter) is: {
parameter: Representation;
type: Representation;
}
is.IndexSignature.parameter: Representationparameter) as import SchemaSchema.declareRecord.type Schema.Record.Key = /*unresolved*/ anyKey, function (local function) recur(r: Representation): Schema.Toprecur(is: IndexSignature(parameter) is: {
parameter: Representation;
type: Representation;
}
is.IndexSignature.type: Representationtype))
)
if (import ArrArr.isArrayNonEmpty(const indexSignatures: Array<
Schema.$Record<Schema.Record.Key, Schema.Top>
>
indexSignatures)) {
if (r: Representation(parameter) r: {
_tag: "Objects";
annotations: Schema.Annotations.Annotations | undefined;
propertySignatures: ReadonlyArray<PropertySignature>;
indexSignatures: ReadonlyArray<IndexSignature>;
checks: ReadonlyArray<Check<ObjectsMeta>>;
}
r.Objects.propertySignatures: ReadonlyArray<PropertySignature>propertySignatures.ReadonlyArray<T>.length: numberGets the length of the array. This is a number one higher than the highest element defined in an array.
length === 0 && const indexSignatures: any[]const indexSignatures: {
0: Schema.$Record<Schema.Record.Key, Schema.Top>;
length: number;
toString: () => string;
toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string };
pop: () => Schema.$Record<Schema.Record.Key, Schema.Top> | undefined;
push: (...items: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => number;
concat: { (...items: Array<ConcatArray<Schema.$Record<Schema.Record.Key, Schema.Top>>>): Array<Schema.$Record<Schema.Record.Key, Schema.Top>>; (...items: Array<Schema.$Record<Schema.Record.Key, Schema.Top> | ConcatArray<Schema.$Record<Schema.Recor…;
join: (separator?: string) => string;
reverse: () => Array<Schema.$Record<Schema.Record.Key, Schema.Top>>;
shift: () => Schema.$Record<Schema.Record.Key, Schema.Top> | undefined;
slice: (start?: number, end?: number) => Array<Schema.$Record<Schema.Record.Key, Schema.Top>>;
sort: (compareFn?: ((a: Schema.$Record<Schema.Record.Key, Schema.Top>, b: Schema.$Record<Schema.Record.Key, Schema.Top>) => number) | undefined) => [Schema.$Record<Schema.Record.Key, Schema.Top>, ...Schema.$Record<Schema.Record.Key, Schema.Top>[…;
splice: { (start: number, deleteCount?: number): Array<Schema.$Record<Schema.Record.Key, Schema.Top>>; (start: number, deleteCount: number, ...items: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>): Array<Schema.$Record<Schema.Record.Key, Sc…;
unshift: (...items: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => number;
indexOf: (searchElement: Schema.$Record<Schema.Record.Key, Schema.Top>, fromIndex?: number) => number;
lastIndexOf: (searchElement: Schema.$Record<Schema.Record.Key, Schema.Top>, fromIndex?: number) => number;
every: { (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => value is S, thisArg?: any): this is S[]; (predicate: (value: Schema.$Record<Schema.Record.K…;
some: (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => unknown, thisArg?: any) => boolean;
forEach: (callbackfn: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => void, thisArg?: any) => void;
map: (callbackfn: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => U, thisArg?: any) => Array<U>;
filter: { (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => value is S, thisArg?: any): Array<S>; (predicate: (value: Schema.$Record<Schema.Record.Key,…;
reduce: { (callbackfn: (previousValue: Schema.$Record<Schema.Record.Key, Schema.Top>, currentValue: Schema.$Record<Schema.Record.Key, Schema.Top>, currentIndex: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => Schema.$Record…;
reduceRight: { (callbackfn: (previousValue: Schema.$Record<Schema.Record.Key, Schema.Top>, currentValue: Schema.$Record<Schema.Record.Key, Schema.Top>, currentIndex: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => Schema.$Record…;
find: { (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, obj: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => value is S, thisArg?: any): S | undefined; (predicate: (value: Schema.$Record<Schema.Record.K…;
findIndex: (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, obj: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => unknown, thisArg?: any) => number;
fill: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, start?: number, end?: number) => [Schema.$Record<Schema.Record.Key, Schema.Top>, ...Schema.$Record<Schema.Record.Key, Schema.Top>[]];
copyWithin: (target: number, start: number, end?: number) => [Schema.$Record<Schema.Record.Key, Schema.Top>, ...Schema.$Record<Schema.Record.Key, Schema.Top>[]];
entries: () => ArrayIterator<[number, Schema.$Record<Schema.Record.Key, Schema.Top>]>;
keys: () => ArrayIterator<number>;
values: () => ArrayIterator<Schema.$Record<Schema.Record.Key, Schema.Top>>;
includes: (searchElement: Schema.$Record<Schema.Record.Key, Schema.Top>, fromIndex?: number) => boolean;
flatMap: (callback: (this: This, value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => U | ReadonlyArray<U>, thisArg?: This | undefined) => Array<U>;
flat: (this: A, depth?: D | undefined) => Array<FlatArray<A, D>>;
at: (index: number) => Schema.$Record<Schema.Record.Key, Schema.Top> | undefined;
findLast: { (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => value is S, thisArg?: any): S | undefined; (predicate: (value: Schema.$Record<Schema.Record…;
findLastIndex: (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => unknown, thisArg?: any) => number;
toReversed: () => Array<Schema.$Record<Schema.Record.Key, Schema.Top>>;
toSorted: (compareFn?: ((a: Schema.$Record<Schema.Record.Key, Schema.Top>, b: Schema.$Record<Schema.Record.Key, Schema.Top>) => number) | undefined) => Array<Schema.$Record<Schema.Record.Key, Schema.Top>>;
toSpliced: { (start: number, deleteCount: number, ...items: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>): Array<Schema.$Record<Schema.Record.Key, Schema.Top>>; (start: number, deleteCount?: number): Array<Schema.$Record<Schema.Record.Key, Sc…;
with: (index: number, value: Schema.$Record<Schema.Record.Key, Schema.Top>) => Array<Schema.$Record<Schema.Record.Key, Schema.Top>>;
}
indexSignatures.Array<any>.length: numberGets or sets the length of the array. This is a number one higher than the highest index in the array.
length === 1) {
return const indexSignatures: any[]const indexSignatures: {
0: Schema.$Record<Schema.Record.Key, Schema.Top>;
length: number;
toString: () => string;
toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string };
pop: () => Schema.$Record<Schema.Record.Key, Schema.Top> | undefined;
push: (...items: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => number;
concat: { (...items: Array<ConcatArray<Schema.$Record<Schema.Record.Key, Schema.Top>>>): Array<Schema.$Record<Schema.Record.Key, Schema.Top>>; (...items: Array<Schema.$Record<Schema.Record.Key, Schema.Top> | ConcatArray<Schema.$Record<Schema.Recor…;
join: (separator?: string) => string;
reverse: () => Array<Schema.$Record<Schema.Record.Key, Schema.Top>>;
shift: () => Schema.$Record<Schema.Record.Key, Schema.Top> | undefined;
slice: (start?: number, end?: number) => Array<Schema.$Record<Schema.Record.Key, Schema.Top>>;
sort: (compareFn?: ((a: Schema.$Record<Schema.Record.Key, Schema.Top>, b: Schema.$Record<Schema.Record.Key, Schema.Top>) => number) | undefined) => [Schema.$Record<Schema.Record.Key, Schema.Top>, ...Schema.$Record<Schema.Record.Key, Schema.Top>[…;
splice: { (start: number, deleteCount?: number): Array<Schema.$Record<Schema.Record.Key, Schema.Top>>; (start: number, deleteCount: number, ...items: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>): Array<Schema.$Record<Schema.Record.Key, Sc…;
unshift: (...items: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => number;
indexOf: (searchElement: Schema.$Record<Schema.Record.Key, Schema.Top>, fromIndex?: number) => number;
lastIndexOf: (searchElement: Schema.$Record<Schema.Record.Key, Schema.Top>, fromIndex?: number) => number;
every: { (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => value is S, thisArg?: any): this is S[]; (predicate: (value: Schema.$Record<Schema.Record.K…;
some: (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => unknown, thisArg?: any) => boolean;
forEach: (callbackfn: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => void, thisArg?: any) => void;
map: (callbackfn: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => U, thisArg?: any) => Array<U>;
filter: { (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => value is S, thisArg?: any): Array<S>; (predicate: (value: Schema.$Record<Schema.Record.Key,…;
reduce: { (callbackfn: (previousValue: Schema.$Record<Schema.Record.Key, Schema.Top>, currentValue: Schema.$Record<Schema.Record.Key, Schema.Top>, currentIndex: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => Schema.$Record…;
reduceRight: { (callbackfn: (previousValue: Schema.$Record<Schema.Record.Key, Schema.Top>, currentValue: Schema.$Record<Schema.Record.Key, Schema.Top>, currentIndex: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => Schema.$Record…;
find: { (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, obj: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => value is S, thisArg?: any): S | undefined; (predicate: (value: Schema.$Record<Schema.Record.K…;
findIndex: (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, obj: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => unknown, thisArg?: any) => number;
fill: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, start?: number, end?: number) => [Schema.$Record<Schema.Record.Key, Schema.Top>, ...Schema.$Record<Schema.Record.Key, Schema.Top>[]];
copyWithin: (target: number, start: number, end?: number) => [Schema.$Record<Schema.Record.Key, Schema.Top>, ...Schema.$Record<Schema.Record.Key, Schema.Top>[]];
entries: () => ArrayIterator<[number, Schema.$Record<Schema.Record.Key, Schema.Top>]>;
keys: () => ArrayIterator<number>;
values: () => ArrayIterator<Schema.$Record<Schema.Record.Key, Schema.Top>>;
includes: (searchElement: Schema.$Record<Schema.Record.Key, Schema.Top>, fromIndex?: number) => boolean;
flatMap: (callback: (this: This, value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => U | ReadonlyArray<U>, thisArg?: This | undefined) => Array<U>;
flat: (this: A, depth?: D | undefined) => Array<FlatArray<A, D>>;
at: (index: number) => Schema.$Record<Schema.Record.Key, Schema.Top> | undefined;
findLast: { (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => value is S, thisArg?: any): S | undefined; (predicate: (value: Schema.$Record<Schema.Record…;
findLastIndex: (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => unknown, thisArg?: any) => number;
toReversed: () => Array<Schema.$Record<Schema.Record.Key, Schema.Top>>;
toSorted: (compareFn?: ((a: Schema.$Record<Schema.Record.Key, Schema.Top>, b: Schema.$Record<Schema.Record.Key, Schema.Top>) => number) | undefined) => Array<Schema.$Record<Schema.Record.Key, Schema.Top>>;
toSpliced: { (start: number, deleteCount: number, ...items: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>): Array<Schema.$Record<Schema.Record.Key, Schema.Top>>; (start: number, deleteCount?: number): Array<Schema.$Record<Schema.Record.Key, Sc…;
with: (index: number, value: Schema.$Record<Schema.Record.Key, Schema.Top>) => Array<Schema.$Record<Schema.Record.Key, Schema.Top>>;
}
indexSignatures[0]
}
return import SchemaSchema.StructWithRest(import SchemaSchema.Struct(const fields: Record<
PropertyKey,
Schema.Top
>
fields), const indexSignatures: any[]const indexSignatures: {
0: Schema.$Record<Schema.Record.Key, Schema.Top>;
length: number;
toString: () => string;
toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string };
pop: () => Schema.$Record<Schema.Record.Key, Schema.Top> | undefined;
push: (...items: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => number;
concat: { (...items: Array<ConcatArray<Schema.$Record<Schema.Record.Key, Schema.Top>>>): Array<Schema.$Record<Schema.Record.Key, Schema.Top>>; (...items: Array<Schema.$Record<Schema.Record.Key, Schema.Top> | ConcatArray<Schema.$Record<Schema.Recor…;
join: (separator?: string) => string;
reverse: () => Array<Schema.$Record<Schema.Record.Key, Schema.Top>>;
shift: () => Schema.$Record<Schema.Record.Key, Schema.Top> | undefined;
slice: (start?: number, end?: number) => Array<Schema.$Record<Schema.Record.Key, Schema.Top>>;
sort: (compareFn?: ((a: Schema.$Record<Schema.Record.Key, Schema.Top>, b: Schema.$Record<Schema.Record.Key, Schema.Top>) => number) | undefined) => [Schema.$Record<Schema.Record.Key, Schema.Top>, ...Schema.$Record<Schema.Record.Key, Schema.Top>[…;
splice: { (start: number, deleteCount?: number): Array<Schema.$Record<Schema.Record.Key, Schema.Top>>; (start: number, deleteCount: number, ...items: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>): Array<Schema.$Record<Schema.Record.Key, Sc…;
unshift: (...items: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => number;
indexOf: (searchElement: Schema.$Record<Schema.Record.Key, Schema.Top>, fromIndex?: number) => number;
lastIndexOf: (searchElement: Schema.$Record<Schema.Record.Key, Schema.Top>, fromIndex?: number) => number;
every: { (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => value is S, thisArg?: any): this is S[]; (predicate: (value: Schema.$Record<Schema.Record.K…;
some: (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => unknown, thisArg?: any) => boolean;
forEach: (callbackfn: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => void, thisArg?: any) => void;
map: (callbackfn: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => U, thisArg?: any) => Array<U>;
filter: { (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => value is S, thisArg?: any): Array<S>; (predicate: (value: Schema.$Record<Schema.Record.Key,…;
reduce: { (callbackfn: (previousValue: Schema.$Record<Schema.Record.Key, Schema.Top>, currentValue: Schema.$Record<Schema.Record.Key, Schema.Top>, currentIndex: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => Schema.$Record…;
reduceRight: { (callbackfn: (previousValue: Schema.$Record<Schema.Record.Key, Schema.Top>, currentValue: Schema.$Record<Schema.Record.Key, Schema.Top>, currentIndex: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => Schema.$Record…;
find: { (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, obj: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => value is S, thisArg?: any): S | undefined; (predicate: (value: Schema.$Record<Schema.Record.K…;
findIndex: (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, obj: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => unknown, thisArg?: any) => number;
fill: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, start?: number, end?: number) => [Schema.$Record<Schema.Record.Key, Schema.Top>, ...Schema.$Record<Schema.Record.Key, Schema.Top>[]];
copyWithin: (target: number, start: number, end?: number) => [Schema.$Record<Schema.Record.Key, Schema.Top>, ...Schema.$Record<Schema.Record.Key, Schema.Top>[]];
entries: () => ArrayIterator<[number, Schema.$Record<Schema.Record.Key, Schema.Top>]>;
keys: () => ArrayIterator<number>;
values: () => ArrayIterator<Schema.$Record<Schema.Record.Key, Schema.Top>>;
includes: (searchElement: Schema.$Record<Schema.Record.Key, Schema.Top>, fromIndex?: number) => boolean;
flatMap: (callback: (this: This, value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => U | ReadonlyArray<U>, thisArg?: This | undefined) => Array<U>;
flat: (this: A, depth?: D | undefined) => Array<FlatArray<A, D>>;
at: (index: number) => Schema.$Record<Schema.Record.Key, Schema.Top> | undefined;
findLast: { (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => value is S, thisArg?: any): S | undefined; (predicate: (value: Schema.$Record<Schema.Record…;
findLastIndex: (predicate: (value: Schema.$Record<Schema.Record.Key, Schema.Top>, index: number, array: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>) => unknown, thisArg?: any) => number;
toReversed: () => Array<Schema.$Record<Schema.Record.Key, Schema.Top>>;
toSorted: (compareFn?: ((a: Schema.$Record<Schema.Record.Key, Schema.Top>, b: Schema.$Record<Schema.Record.Key, Schema.Top>) => number) | undefined) => Array<Schema.$Record<Schema.Record.Key, Schema.Top>>;
toSpliced: { (start: number, deleteCount: number, ...items: Array<Schema.$Record<Schema.Record.Key, Schema.Top>>): Array<Schema.$Record<Schema.Record.Key, Schema.Top>>; (start: number, deleteCount?: number): Array<Schema.$Record<Schema.Record.Key, Sc…;
with: (index: number, value: Schema.$Record<Schema.Record.Key, Schema.Top>) => Array<Schema.$Record<Schema.Record.Key, Schema.Top>>;
}
indexSignatures)
}
return import SchemaSchema.Struct(const fields: Record<
PropertyKey,
Schema.Top
>
fields)
}
case "Union": {
if (r: Representation(parameter) r: {
_tag: "Union";
annotations: Schema.Annotations.Annotations | undefined;
types: ReadonlyArray<Representation>;
mode: "anyOf" | "oneOf";
}
r.Union.types: ReadonlyArray<Representation>types.ReadonlyArray<Representation>.length: numberGets the length of the array. This is a number one higher than the highest element defined in an array.
length === 0) return import SchemaSchema.Never
if (r: Representation(parameter) r: {
_tag: "Union";
annotations: Schema.Annotations.Annotations | undefined;
types: ReadonlyArray<Representation>;
mode: "anyOf" | "oneOf";
}
r.Union.types: ReadonlyArray<Representation>types.ReadonlyArray<Representation>.every<Literal>(predicate: (value: Representation, index: number, array: readonly Representation[]) => value is Literal, thisArg?: any): this is readonly S[] (+1 overload)Determines whether all the members of an array satisfy the specified test.
every((t: Representationt) => t: Representationt._tag: | "Declaration"
| "Suspend"
| "Reference"
| "Null"
| "Undefined"
| "Void"
| "Never"
| "Unknown"
| "Any"
| "String"
| "Number"
| "Boolean"
| "BigInt"
| "Symbol"
| "Literal"
| "UniqueSymbol"
| "ObjectKeyword"
| "Enum"
| "TemplateLiteral"
| "Arrays"
| "Objects"
| "Union"
_tag === "Literal")) {
if (r: Representation(parameter) r: {
_tag: "Union";
annotations: Schema.Annotations.Annotations | undefined;
types: ReadonlyArray<Representation>;
mode: "anyOf" | "oneOf";
}
r.Union.types: ReadonlyArray<Representation>types.ReadonlyArray<T>.length: numberGets the length of the array. This is a number one higher than the highest element defined in an array.
length === 1) {
return import SchemaSchema.Literal(r: Representation(parameter) r: {
_tag: "Union";
annotations: Schema.Annotations.Annotations | undefined;
types: ReadonlyArray<Representation>;
mode: "anyOf" | "oneOf";
}
r.Union.types: ReadonlyArray<Representation>types[0].Literal.literal: string | number | bigint | booleanliteral)
}
return import SchemaSchema.Literals(r: Representation(parameter) r: {
_tag: "Union";
annotations: Schema.Annotations.Annotations | undefined;
types: ReadonlyArray<Representation>;
mode: "anyOf" | "oneOf";
}
r.Union.types: ReadonlyArray<Representation>types.ReadonlyArray<Literal>.map<string | number | bigint | boolean>(callbackfn: (value: Literal, index: number, array: readonly Literal[]) => string | number | bigint | boolean, thisArg?: any): (string | number | bigint | boolean)[]Calls a defined callback function on each element of an array, and returns an array that contains the results.
map((t: Literal(parameter) t: {
_tag: "Literal";
annotations: Schema.Annotations.Annotations | undefined;
literal: string | number | boolean | bigint;
}
t) => t: Literal(parameter) t: {
_tag: "Literal";
annotations: Schema.Annotations.Annotations | undefined;
literal: string | number | boolean | bigint;
}
t.Literal.literal: string | number | bigint | booleanliteral))
}
return import SchemaSchema.Union(r: Representation(parameter) r: {
_tag: "Union";
annotations: Schema.Annotations.Annotations | undefined;
types: ReadonlyArray<Representation>;
mode: "anyOf" | "oneOf";
}
r.Union.types: ReadonlyArray<Representation>types.ReadonlyArray<Representation>.map<Schema.Top>(callbackfn: (value: Representation, index: number, array: readonly Representation[]) => Schema.Top, thisArg?: any): Schema.Top[]Calls a defined callback function on each element of an array, and returns an array that contains the results.
map(function (local function) recur(r: Representation): Schema.Toprecur), { mode: "anyOf" | "oneOf"mode: r: Representation(parameter) r: {
_tag: "Union";
annotations: Schema.Annotations.Annotations | undefined;
types: ReadonlyArray<Representation>;
mode: "anyOf" | "oneOf";
}
r.Union.mode: "anyOf" | "oneOf"mode })
}
}
}
function function (local function) toSchemaChecks(top: Schema.Top, schema: Representation): Schema.ToptoSchemaChecks(top: Schema.Top(parameter) top: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
top: import SchemaSchema.type Schema.Top = /*unresolved*/ anyTop, schema: Representationschema: type Representation =
| Declaration
| Reference
| Suspend
| Null
| Undefined
| Void
| Never
| Unknown
| Any
| String
| Number
| Boolean
| BigInt
| Symbol
| Literal
| UniqueSymbol
| ObjectKeyword
| Enum
| TemplateLiteral
| Arrays
| Objects
| Union
The core tagged union of all supported schema shapes.
Details
Each variant has a _tag discriminator. Switch on _tag to handle each
shape. Most variants carry optional annotations and some carry checks
for validation constraints.
Representation): import SchemaSchema.type Schema.Top = /*unresolved*/ anyTop {
switch (schema: Representationschema._tag: | "Declaration"
| "Suspend"
| "Reference"
| "Null"
| "Undefined"
| "Void"
| "Never"
| "Unknown"
| "Any"
| "String"
| "Number"
| "Boolean"
| "BigInt"
| "Symbol"
| "Literal"
| "UniqueSymbol"
| "ObjectKeyword"
| "Enum"
| "TemplateLiteral"
| "Arrays"
| "Objects"
| "Union"
_tag) {
default:
return top: Schema.Top(parameter) top: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
top
case "String":
case "Number":
case "BigInt":
case "Arrays":
case "Objects":
case "Declaration": {
const const checks: Array<SchemaAST.Check<any>>checks = schema: Representationschema.checks: readonly Check<any>[]checks.ReadonlyArray<Check<any>>.map<SchemaAST.Check<any>>(callbackfn: (value: Check<any>, index: number, array: readonly Check<any>[]) => SchemaAST.Check<any>, thisArg?: any): SchemaAST.Check<any>[]Calls a defined callback function on each element of an array, and returns an array that contains the results.
map(function (local function) toSchemaCheck(check: Check<Meta>): SchemaAST.Check<any>toSchemaCheck)
return import ArrArr.isArrayNonEmpty(const checks: Array<SchemaAST.Check<any>>checks) ? top: Schema.Top(parameter) top: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
top.check(...const checks: SchemaAST.Check<any>[]const checks: {
0: SchemaAST.Check<any>;
length: number;
toString: () => string;
toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string };
pop: () => SchemaAST.Check<any> | undefined;
push: (...items: Array<SchemaAST.Check<any>>) => number;
concat: { (...items: Array<ConcatArray<SchemaAST.Check<any>>>): Array<SchemaAST.Check<any>>; (...items: Array<SchemaAST.Check<any> | ConcatArray<SchemaAST.Check<any>>>): Array<SchemaAST.Check<any>> };
join: (separator?: string) => string;
reverse: () => Array<SchemaAST.Check<any>>;
shift: () => SchemaAST.Check<any> | undefined;
slice: (start?: number, end?: number) => Array<SchemaAST.Check<any>>;
sort: (compareFn?: ((a: SchemaAST.Check<any>, b: SchemaAST.Check<any>) => number) | undefined) => [SchemaAST.Check<any>, ...SchemaAST.Check<any>[]];
splice: { (start: number, deleteCount?: number): Array<SchemaAST.Check<any>>; (start: number, deleteCount: number, ...items: Array<SchemaAST.Check<any>>): Array<SchemaAST.Check<any>> };
unshift: (...items: Array<SchemaAST.Check<any>>) => number;
indexOf: (searchElement: SchemaAST.Check<any>, fromIndex?: number) => number;
lastIndexOf: (searchElement: SchemaAST.Check<any>, fromIndex?: number) => number;
every: { (predicate: (value: SchemaAST.Check<any>, index: number, array: Array<SchemaAST.Check<any>>) => value is S, thisArg?: any): this is S[]; (predicate: (value: SchemaAST.Check<any>, index: number, array: Array<SchemaAST.Check<any>>) => unkn…;
some: (predicate: (value: SchemaAST.Check<any>, index: number, array: Array<SchemaAST.Check<any>>) => unknown, thisArg?: any) => boolean;
forEach: (callbackfn: (value: SchemaAST.Check<any>, index: number, array: Array<SchemaAST.Check<any>>) => void, thisArg?: any) => void;
map: (callbackfn: (value: SchemaAST.Check<any>, index: number, array: Array<SchemaAST.Check<any>>) => U, thisArg?: any) => Array<U>;
filter: { (predicate: (value: SchemaAST.Check<any>, index: number, array: Array<SchemaAST.Check<any>>) => value is S, thisArg?: any): Array<S>; (predicate: (value: SchemaAST.Check<any>, index: number, array: Array<SchemaAST.Check<any>>) => unknown…;
reduce: { (callbackfn: (previousValue: SchemaAST.Check<any>, currentValue: SchemaAST.Check<any>, currentIndex: number, array: Array<SchemaAST.Check<any>>) => SchemaAST.Check<any>): SchemaAST.Check<any>; (callbackfn: (previousValue: SchemaAST.Check…;
reduceRight: { (callbackfn: (previousValue: SchemaAST.Check<any>, currentValue: SchemaAST.Check<any>, currentIndex: number, array: Array<SchemaAST.Check<any>>) => SchemaAST.Check<any>): SchemaAST.Check<any>; (callbackfn: (previousValue: SchemaAST.Check…;
find: { (predicate: (value: SchemaAST.Check<any>, index: number, obj: Array<SchemaAST.Check<any>>) => value is S, thisArg?: any): S | undefined; (predicate: (value: SchemaAST.Check<any>, index: number, obj: Array<SchemaAST.Check<any>>) => unknow…;
findIndex: (predicate: (value: SchemaAST.Check<any>, index: number, obj: Array<SchemaAST.Check<any>>) => unknown, thisArg?: any) => number;
fill: (value: SchemaAST.Check<any>, start?: number, end?: number) => [SchemaAST.Check<any>, ...SchemaAST.Check<any>[]];
copyWithin: (target: number, start: number, end?: number) => [SchemaAST.Check<any>, ...SchemaAST.Check<any>[]];
entries: () => ArrayIterator<[number, SchemaAST.Check<any>]>;
keys: () => ArrayIterator<number>;
values: () => ArrayIterator<SchemaAST.Check<any>>;
includes: (searchElement: SchemaAST.Check<any>, fromIndex?: number) => boolean;
flatMap: (callback: (this: This, value: SchemaAST.Check<any>, index: number, array: Array<SchemaAST.Check<any>>) => U | ReadonlyArray<U>, thisArg?: This | undefined) => Array<U>;
flat: (this: A, depth?: D | undefined) => Array<FlatArray<A, D>>;
at: (index: number) => SchemaAST.Check<any> | undefined;
findLast: { (predicate: (value: SchemaAST.Check<any>, index: number, array: Array<SchemaAST.Check<any>>) => value is S, thisArg?: any): S | undefined; (predicate: (value: SchemaAST.Check<any>, index: number, array: Array<SchemaAST.Check<any>>) => un…;
findLastIndex: (predicate: (value: SchemaAST.Check<any>, index: number, array: Array<SchemaAST.Check<any>>) => unknown, thisArg?: any) => number;
toReversed: () => Array<SchemaAST.Check<any>>;
toSorted: (compareFn?: ((a: SchemaAST.Check<any>, b: SchemaAST.Check<any>) => number) | undefined) => Array<SchemaAST.Check<any>>;
toSpliced: { (start: number, deleteCount: number, ...items: Array<SchemaAST.Check<any>>): Array<SchemaAST.Check<any>>; (start: number, deleteCount?: number): Array<SchemaAST.Check<any>> };
with: (index: number, value: SchemaAST.Check<any>) => Array<SchemaAST.Check<any>>;
}
checks) : top: Schema.Top(parameter) top: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: SchemaAST.Check<unknown>, ...checks: Array<SchemaAST.Check<unknown>>) => Schema.Top;
rebuild: (ast: SchemaAST.AST) => Schema.Top;
make: (input: unknown, options?: MakeOptions) => unknown;
makeOption: (input: unknown, options?: MakeOptions) => Option_.Option<unknown>;
makeEffect: (input: unknown, options?: MakeOptions) => Effect.Effect<unknown, SchemaError, never>;
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; <…;
}
top
}
}
}
function function (local function) toSchemaCheck(check: Check<Meta>): SchemaAST.Check<any>toSchemaCheck(check: Check<Meta>check: type Check<M> = Filter<M> | FilterGroup<M>A validation constraint attached to a type. Either a single
Filter
or a
FilterGroup
combining multiple checks.
Check<type Meta = anyMeta>): import SchemaASTSchemaAST.type SchemaAST.Check = /*unresolved*/ anyCheck<any> {
switch (check: Check<Meta>check._tag: "Filter" | "FilterGroup"_tag) {
case "Filter":
return function (local function) toSchemaFilter(filter: Filter<Meta>): SchemaAST.Check<any>toSchemaFilter(check: Check<Meta>(parameter) check: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
check)
case "FilterGroup": {
return import SchemaSchema.makeFilterGroup(import ArrArr.map(check: Check<Meta>(parameter) check: {
_tag: "FilterGroup";
annotations: Schema.Annotations.Filter | undefined;
checks: readonly [Check<M>, ...Array<Check<M>>];
}
check.FilterGroup<any>.checks: readonly [Check<M>, ...Array<Check<M>>](property) FilterGroup<any>.checks: {
0: Check<Meta>;
length: number;
toString: () => string;
toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string };
concat: { (...items: Array<ConcatArray<Check<Meta>>>): Array<Check<Meta>>; (...items: Array<Check<Meta> | ConcatArray<Check<Meta>>>): Array<Check<Meta>> };
join: (separator?: string) => string;
slice: (start?: number, end?: number) => Array<Check<Meta>>;
indexOf: (searchElement: Check<Meta>, fromIndex?: number) => number;
lastIndexOf: (searchElement: Check<Meta>, fromIndex?: number) => number;
every: { (predicate: (value: Check<Meta>, index: number, array: ReadonlyArray<Check<Meta>>) => value is S, thisArg?: any): this is readonly S[]; (predicate: (value: Check<Meta>, index: number, array: ReadonlyArray<Check<Meta>>) => unknown, thisAr…;
some: (predicate: (value: Check<Meta>, index: number, array: ReadonlyArray<Check<Meta>>) => unknown, thisArg?: any) => boolean;
forEach: (callbackfn: (value: Check<Meta>, index: number, array: ReadonlyArray<Check<Meta>>) => void, thisArg?: any) => void;
map: (callbackfn: (value: Check<Meta>, index: number, array: ReadonlyArray<Check<Meta>>) => U, thisArg?: any) => Array<U>;
filter: { (predicate: (value: Check<Meta>, index: number, array: ReadonlyArray<Check<Meta>>) => value is S, thisArg?: any): Array<S>; (predicate: (value: Check<Meta>, index: number, array: ReadonlyArray<Check<Meta>>) => unknown, thisArg?: any): Ar…;
reduce: { (callbackfn: (previousValue: Check<Meta>, currentValue: Check<Meta>, currentIndex: number, array: ReadonlyArray<Check<Meta>>) => Check<Meta>): Check<Meta>; (callbackfn: (previousValue: Check<Meta>, currentValue: Check<Meta>, currentIndex…;
reduceRight: { (callbackfn: (previousValue: Check<Meta>, currentValue: Check<Meta>, currentIndex: number, array: ReadonlyArray<Check<Meta>>) => Check<Meta>): Check<Meta>; (callbackfn: (previousValue: Check<Meta>, currentValue: Check<Meta>, currentIndex…;
find: { (predicate: (value: Check<Meta>, index: number, obj: ReadonlyArray<Check<Meta>>) => value is S, thisArg?: any): S | undefined; (predicate: (value: Check<Meta>, index: number, obj: ReadonlyArray<Check<Meta>>) => unknown, thisArg?: any): C…;
findIndex: (predicate: (value: Check<Meta>, index: number, obj: ReadonlyArray<Check<Meta>>) => unknown, thisArg?: any) => number;
entries: () => ArrayIterator<[number, Check<Meta>]>;
keys: () => ArrayIterator<number>;
values: () => ArrayIterator<Check<Meta>>;
includes: (searchElement: Check<Meta>, fromIndex?: number) => boolean;
flatMap: (callback: (this: This, value: Check<Meta>, index: number, array: Array<Check<Meta>>) => U | ReadonlyArray<U>, thisArg?: This | undefined) => Array<U>;
flat: (this: A, depth?: D | undefined) => Array<FlatArray<A, D>>;
at: (index: number) => Check<Meta> | undefined;
findLast: { (predicate: (value: Check<Meta>, index: number, array: ReadonlyArray<Check<Meta>>) => value is S, thisArg?: any): S | undefined; (predicate: (value: Check<Meta>, index: number, array: ReadonlyArray<Check<Meta>>) => unknown, thisArg?: any…;
findLastIndex: (predicate: (value: Check<Meta>, index: number, array: ReadonlyArray<Check<Meta>>) => unknown, thisArg?: any) => number;
toReversed: () => Array<Check<Meta>>;
toSorted: (compareFn?: ((a: Check<Meta>, b: Check<Meta>) => number) | undefined) => Array<Check<Meta>>;
toSpliced: { (start: number, deleteCount: number, ...items: Array<Check<Meta>>): Array<Check<Meta>>; (start: number, deleteCount?: number): Array<Check<Meta>> };
with: (index: number, value: Check<Meta>) => Array<Check<Meta>>;
}
checks, function (local function) toSchemaCheck(check: Check<Meta>): SchemaAST.Check<any>toSchemaCheck), check: Check<Meta>(parameter) check: {
_tag: "FilterGroup";
annotations: Schema.Annotations.Filter | undefined;
checks: readonly [Check<M>, ...Array<Check<M>>];
}
check.FilterGroup<M>.annotations?: anyannotations)
}
}
}
function function (local function) toSchemaFilter(filter: Filter<Meta>): SchemaAST.Check<any>toSchemaFilter(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter: interface Filter<M>A single validation constraint with typed metadata describing the check
(e.g. { _tag: "isMinLength", minLength: 3 }).
Filter<type Meta = anyMeta>): import SchemaASTSchemaAST.type SchemaAST.Check = /*unresolved*/ anyCheck<any> {
const const a: anya = filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<M>.annotations?: anyannotations
switch (filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: anymeta._tag) {
// String Meta
case "isStringFinite":
return import SchemaSchema.isStringFinite(const a: anya)
case "isStringBigInt":
return import SchemaSchema.isStringBigInt(const a: anya)
case "isStringSymbol":
return import SchemaSchema.isStringSymbol(const a: anya)
case "isMinLength":
return import SchemaSchema.isMinLength(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isMinLength";
minLength: number;
}
meta.minLength, const a: anya)
case "isMaxLength":
return import SchemaSchema.isMaxLength(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isMaxLength";
maxLength: number;
}
meta.maxLength, const a: anya)
case "isLengthBetween":
return import SchemaSchema.isLengthBetween(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isLengthBetween";
minimum: number;
maximum: number;
}
meta.minimum, filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isLengthBetween";
minimum: number;
maximum: number;
}
meta.maximum, const a: anya)
case "isPattern":
return import SchemaSchema.isPattern(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isPattern";
regExp: globalThis.RegExp;
}
meta.regExp, const a: anya)
case "isTrimmed":
return import SchemaSchema.isTrimmed(const a: anya)
case "isUUID":
return import SchemaSchema.isUUID(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isUUID";
regExp: globalThis.RegExp;
version: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | undefined;
}
meta.version, const a: anya)
case "isGUID":
return import SchemaSchema.isGUID(const a: anya)
case "isULID":
return import SchemaSchema.isULID(const a: anya)
case "isBase64":
return import SchemaSchema.isBase64(const a: anya)
case "isBase64Url":
return import SchemaSchema.isBase64Url(const a: anya)
case "isStartsWith":
return import SchemaSchema.isStartsWith(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isStartsWith";
startsWith: string;
regExp: globalThis.RegExp;
}
meta.startsWith, const a: anya)
case "isEndsWith":
return import SchemaSchema.isEndsWith(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isEndsWith";
endsWith: string;
regExp: globalThis.RegExp;
}
meta.endsWith, const a: anya)
case "isIncludes":
return import SchemaSchema.isIncludes(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isIncludes";
includes: string;
regExp: globalThis.RegExp;
}
meta.includes, const a: anya)
case "isUppercased":
return import SchemaSchema.isUppercased(const a: anya)
case "isLowercased":
return import SchemaSchema.isLowercased(const a: anya)
case "isCapitalized":
return import SchemaSchema.isCapitalized(const a: anya)
case "isUncapitalized":
return import SchemaSchema.isUncapitalized(const a: anya)
// Number Meta
case "isFinite":
return import SchemaSchema.isFinite(const a: anya)
case "isInt":
return import SchemaSchema.isInt(const a: anya)
case "isMultipleOf":
return import SchemaSchema.isMultipleOf(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isMultipleOf";
divisor: number;
}
meta.divisor, const a: anya)
case "isGreaterThan":
return import SchemaSchema.isGreaterThan(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isGreaterThan";
exclusiveMinimum: number;
}
meta.exclusiveMinimum, const a: anya)
case "isGreaterThanOrEqualTo":
return import SchemaSchema.isGreaterThanOrEqualTo(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isGreaterThanOrEqualTo";
minimum: number;
}
meta.minimum, const a: anya)
case "isLessThan":
return import SchemaSchema.isLessThan(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isLessThan";
exclusiveMaximum: number;
}
meta.exclusiveMaximum, const a: anya)
case "isLessThanOrEqualTo":
return import SchemaSchema.isLessThanOrEqualTo(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isLessThanOrEqualTo";
maximum: number;
}
meta.maximum, const a: anya)
case "isBetween":
return import SchemaSchema.isBetween(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isBetween";
minimum: number;
maximum: number;
exclusiveMinimum: boolean | undefined;
exclusiveMaximum: boolean | undefined;
}
meta, const a: anya)
// BigInt Meta
case "isGreaterThanBigInt":
return import SchemaSchema.isGreaterThanBigInt(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isGreaterThanBigInt";
exclusiveMinimum: bigint;
}
meta.exclusiveMinimum, const a: anya)
case "isGreaterThanOrEqualToBigInt":
return import SchemaSchema.isGreaterThanOrEqualToBigInt(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isGreaterThanOrEqualToBigInt";
minimum: bigint;
}
meta.minimum, const a: anya)
case "isLessThanBigInt":
return import SchemaSchema.isLessThanBigInt(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isLessThanBigInt";
exclusiveMaximum: bigint;
}
meta.exclusiveMaximum, const a: anya)
case "isLessThanOrEqualToBigInt":
return import SchemaSchema.isLessThanOrEqualToBigInt(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isLessThanOrEqualToBigInt";
maximum: bigint;
}
meta.maximum, const a: anya)
case "isBetweenBigInt":
return import SchemaSchema.isBetweenBigInt(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isBetweenBigInt";
minimum: bigint;
maximum: bigint;
exclusiveMinimum: boolean | undefined;
exclusiveMaximum: boolean | undefined;
}
meta, const a: anya)
// Object Meta
case "isMinProperties":
return import SchemaSchema.isMinProperties(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isMinProperties";
minProperties: number;
}
meta.minProperties, const a: anya)
case "isMaxProperties":
return import SchemaSchema.isMaxProperties(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isMaxProperties";
maxProperties: number;
}
meta.maxProperties, const a: anya)
case "isPropertiesLengthBetween":
return import SchemaSchema.isPropertiesLengthBetween(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isPropertiesLengthBetween";
minimum: number;
maximum: number;
}
meta.minimum, filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isPropertiesLengthBetween";
minimum: number;
maximum: number;
}
meta.maximum, const a: anya)
case "isPropertyNames":
return import SchemaSchema.isPropertyNames(function (local function) recur(r: Representation): Schema.Toprecur(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isPropertyNames";
propertyNames: Representation;
}
meta.propertyNames) as import SchemaSchema.declareRecord.type Schema.Record.Key = /*unresolved*/ anyKey, const a: anya)
// Arrays Meta
case "isUnique":
return import SchemaSchema.isUnique(const a: anya)
// Date Meta
case "isDateValid":
return import SchemaSchema.isDateValid(const a: anya)
case "isGreaterThanDate":
return import SchemaSchema.isGreaterThanDate(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isGreaterThanDate";
exclusiveMinimum: globalThis.Date;
}
meta.exclusiveMinimum, const a: anya)
case "isGreaterThanOrEqualToDate":
return import SchemaSchema.isGreaterThanOrEqualToDate(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isGreaterThanOrEqualToDate";
minimum: globalThis.Date;
}
meta.minimum, const a: anya)
case "isLessThanDate":
return import SchemaSchema.isLessThanDate(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isLessThanDate";
exclusiveMaximum: globalThis.Date;
}
meta.exclusiveMaximum, const a: anya)
case "isLessThanOrEqualToDate":
return import SchemaSchema.isLessThanOrEqualToDate(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isLessThanOrEqualToDate";
maximum: globalThis.Date;
}
meta.maximum, const a: anya)
case "isBetweenDate":
return import SchemaSchema.isBetweenDate(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isBetweenDate";
minimum: globalThis.Date;
maximum: globalThis.Date;
exclusiveMinimum: boolean | undefined;
exclusiveMaximum: boolean | undefined;
}
meta, const a: anya)
// Size Meta
case "isMinSize":
return import SchemaSchema.isMinSize(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isMinSize";
minSize: number;
}
meta.minSize, const a: anya)
case "isMaxSize":
return import SchemaSchema.isMaxSize(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isMaxSize";
maxSize: number;
}
meta.maxSize, const a: anya)
case "isSizeBetween":
return import SchemaSchema.isSizeBetween(filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isSizeBetween";
minimum: number;
maximum: number;
}
meta.minimum, filter: Filter<Meta>(parameter) filter: {
_tag: "Filter";
annotations: Schema.Annotations.Filter | undefined;
meta: M;
}
filter.Filter<any>.meta: any(property) Filter<any>.meta: {
_tag: "isSizeBetween";
minimum: number;
maximum: number;
}
meta.maximum, const a: anya)
}
}
}