Skip to content

Class

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Schema.d.ts:4264

3.10.0

Self

Fields extends Fields

I

R

C

Inherited

Proto

new Class(props, options?): Type<Fields> & Inherited & Proto

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Schema.d.ts:4265

RequiredKeys<C> extends never ? void | { [K in string | number | symbol]: C[K] } : { [K in string | number | symbol]: C[K] }

MakeOptions

Type<Fields> & Inherited & Proto

Schema<Self, Simplify<I>, R>.constructor

readonly [TypeId]: object

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Schema.d.ts:160

readonly _A: Invariant<Self>

readonly _I: Invariant<{ [K in string | number | symbol]: I[K] }>

readonly _R: Covariant<R>

Schema.[TypeId]


readonly ast: Transformation

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Schema.d.ts:4267

3.10.0

Schema.ast


readonly Context: R

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Schema.d.ts:63

Schema.Context


readonly Encoded: { [K in string | number | symbol]: I[K] }

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Schema.d.ts:62

Schema.Encoded


readonly fields: { readonly [K in string | number | symbol]: Fields[K] }

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Schema.d.ts:4270


readonly identifier: string

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Schema.d.ts:4273


readonly Type: Self

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Schema.d.ts:61

Schema.Type

annotations(annotations): SchemaClass<Self, { [K in string | number | symbol]: I[K] }, R>

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Schema.d.ts:4269

Merges a set of new annotations with existing ones, potentially overwriting any duplicates.

Schema<Self>

SchemaClass<Self, { [K in string | number | symbol]: I[K] }, R>

Schema.annotations


extend<Extended>(identifier): <NewFields>(fields, annotations?) => [Extended] extends [never] ? "Missing `Self` generic - use `class Self extends Base.extend<Self>()({ ... })`" : Class<Extended, Fields & NewFields, I & { readonly [K in string | number | symbol as Key<NewFields, K>]: Encoded<NewFields[K]> } & { readonly [K in string | number | symbol as Key<NewFields, K>]?: Encoded<NewFields[K]> }, R | Context<NewFields[keyof NewFields]>, C & Constructor<NewFields>, Self, Proto>

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Schema.d.ts:4296

Extended = never

string

<NewFields>(fields, annotations?): [Extended] extends [never] ? "Missing `Self` generic - use `class Self extends Base.extend<Self>()({ ... })`" : Class<Extended, Fields & NewFields, I & { readonly [K in string | number | symbol as Key<NewFields, K>]: Encoded<NewFields[K]> } & { readonly [K in string | number | symbol as Key<NewFields, K>]?: Encoded<NewFields[K]> }, R | Context<NewFields[keyof NewFields]>, C & Constructor<NewFields>, Self, Proto>

NewFields extends Fields

NewFields | HasFields<NewFields>

ClassAnnotations<Extended, { [K in string | number | symbol]: Type<Fields & NewFields>[K] }>

[Extended] extends [never] ? "Missing `Self` generic - use `class Self extends Base.extend<Self>()({ ... })`" : Class<Extended, Fields & NewFields, I & { readonly [K in string | number | symbol as Key<NewFields, K>]: Encoded<NewFields[K]> } & { readonly [K in string | number | symbol as Key<NewFields, K>]?: Encoded<NewFields[K]> }, R | Context<NewFields[keyof NewFields]>, C & Constructor<NewFields>, Self, Proto>

import { Schema } from "effect"
class MyClass extends Schema.Class<MyClass>("MyClass")({
myField: Schema.String
}) {
myMethod() {
return this.myField + "my"
}
}
class NextClass extends MyClass.extend<NextClass>("NextClass")({
nextField: Schema.Number
}) {
nextMethod() {
return this.myMethod() + this.myField + this.nextField
}
}

make<C>(this, …args): InstanceType<C>

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Schema.d.ts:4268

C extends (…args) => any

C

ConstructorParameters<C>

InstanceType<C>


pipe<A>(this): A

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:10

A

A

A

Schema.pipe

pipe<A, B>(this, ab): B

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:11

A

B = never

A

(_) => B

B

Schema.pipe

pipe<A, B, C>(this, ab, bc): C

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:12

A

B = never

C = never

A

(_) => B

(_) => C

C

Schema.pipe

pipe<A, B, C, D>(this, ab, bc, cd): D

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:13

A

B = never

C = never

D = never

A

(_) => B

(_) => C

(_) => D

D

Schema.pipe

pipe<A, B, C, D, E>(this, ab, bc, cd, de): E

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:14

A

B = never

C = never

D = never

E = never

A

(_) => B

(_) => C

(_) => D

(_) => E

E

Schema.pipe

pipe<A, B, C, D, E, F>(this, ab, bc, cd, de, ef): F

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:15

A

B = never

C = never

D = never

E = never

F = never

A

(_) => B

(_) => C

(_) => D

(_) => E

(_) => F

F

Schema.pipe

pipe<A, B, C, D, E, F, G>(this, ab, bc, cd, de, ef, fg): G

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:16

A

B = never

C = never

D = never

E = never

F = never

G = never

A

(_) => B

(_) => C

(_) => D

(_) => E

(_) => F

(_) => G

G

Schema.pipe

pipe<A, B, C, D, E, F, G, H>(this, ab, bc, cd, de, ef, fg, gh): H

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:17

A

B = never

C = never

D = never

E = never

F = never

G = never

H = never

A

(_) => B

(_) => C

(_) => D

(_) => E

(_) => F

(_) => G

(_) => H

H

Schema.pipe

pipe<A, B, C, D, E, F, G, H, I>(this, ab, bc, cd, de, ef, fg, gh, hi): I

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:18

A

B = never

C = never

D = never

E = never

F = never

G = never

H = never

I = never

A

(_) => B

(_) => C

(_) => D

(_) => E

(_) => F

(_) => G

(_) => H

(_) => I

I

Schema.pipe

pipe<A, B, C, D, E, F, G, H, I, J>(this, ab, bc, cd, de, ef, fg, gh, hi, ij): J

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:19

A

B = never

C = never

D = never

E = never

F = never

G = never

H = never

I = never

J = never

A

(_) => B

(_) => C

(_) => D

(_) => E

(_) => F

(_) => G

(_) => H

(_) => I

(_) => J

J

Schema.pipe

pipe<A, B, C, D, E, F, G, H, I, J, K>(this, ab, bc, cd, de, ef, fg, gh, hi, ij, jk): K

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:20

A

B = never

C = never

D = never

E = never

F = never

G = never

H = never

I = never

J = never

K = never

A

(_) => B

(_) => C

(_) => D

(_) => E

(_) => F

(_) => G

(_) => H

(_) => I

(_) => J

(_) => K

K

Schema.pipe

pipe<A, B, C, D, E, F, G, H, I, J, K, L>(this, ab, bc, cd, de, ef, fg, gh, hi, ij, jk, kl): L

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:21

A

B = never

C = never

D = never

E = never

F = never

G = never

H = never

I = never

J = never

K = never

L = never

A

(_) => B

(_) => C

(_) => D

(_) => E

(_) => F

(_) => G

(_) => H

(_) => I

(_) => J

(_) => K

(_) => L

L

Schema.pipe

pipe<A, B, C, D, E, F, G, H, I, J, K, L, M>(this, ab, bc, cd, de, ef, fg, gh, hi, ij, jk, kl, lm): M

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:22

A

B = never

C = never

D = never

E = never

F = never

G = never

H = never

I = never

J = never

K = never

L = never

M = never

A

(_) => B

(_) => C

(_) => D

(_) => E

(_) => F

(_) => G

(_) => H

(_) => I

(_) => J

(_) => K

(_) => L

(_) => M

M

Schema.pipe

pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N>(this, ab, bc, cd, de, ef, fg, gh, hi, ij, jk, kl, lm, mn): N

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:23

A

B = never

C = never

D = never

E = never

F = never

G = never

H = never

I = never

J = never

K = never

L = never

M = never

N = never

A

(_) => B

(_) => C

(_) => D

(_) => E

(_) => F

(_) => G

(_) => H

(_) => I

(_) => J

(_) => K

(_) => L

(_) => M

(_) => N

N

Schema.pipe

pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O>(this, ab, bc, cd, de, ef, fg, gh, hi, ij, jk, kl, lm, mn, no): O

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:24

A

B = never

C = never

D = never

E = never

F = never

G = never

H = never

I = never

J = never

K = never

L = never

M = never

N = never

O = never

A

(_) => B

(_) => C

(_) => D

(_) => E

(_) => F

(_) => G

(_) => H

(_) => I

(_) => J

(_) => K

(_) => L

(_) => M

(_) => N

(_) => O

O

Schema.pipe

pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P>(this, ab, bc, cd, de, ef, fg, gh, hi, ij, jk, kl, lm, mn, no, op): P

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:25

A

B = never

C = never

D = never

E = never

F = never

G = never

H = never

I = never

J = never

K = never

L = never

M = never

N = never

O = never

P = never

A

(_) => B

(_) => C

(_) => D

(_) => E

(_) => F

(_) => G

(_) => H

(_) => I

(_) => J

(_) => K

(_) => L

(_) => M

(_) => N

(_) => O

(_) => P

P

Schema.pipe

pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q>(this, ab, bc, cd, de, ef, fg, gh, hi, ij, jk, kl, lm, mn, no, op, pq): Q

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:26

A

B = never

C = never

D = never

E = never

F = never

G = never

H = never

I = never

J = never

K = never

L = never

M = never

N = never

O = never

P = never

Q = never

A

(_) => B

(_) => C

(_) => D

(_) => E

(_) => F

(_) => G

(_) => H

(_) => I

(_) => J

(_) => K

(_) => L

(_) => M

(_) => N

(_) => O

(_) => P

(_) => Q

Q

Schema.pipe

pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R>(this, ab, bc, cd, de, ef, fg, gh, hi, ij, jk, kl, lm, mn, no, op, pq, qr): R

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:27

A

B = never

C = never

D = never

E = never

F = never

G = never

H = never

I = never

J = never

K = never

L = never

M = never

N = never

O = never

P = never

Q = never

R = never

A

(_) => B

(_) => C

(_) => D

(_) => E

(_) => F

(_) => G

(_) => H

(_) => I

(_) => J

(_) => K

(_) => L

(_) => M

(_) => N

(_) => O

(_) => P

(_) => Q

(_) => R

R

Schema.pipe

pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S>(this, ab, bc, cd, de, ef, fg, gh, hi, ij, jk, kl, lm, mn, no, op, pq, qr, rs): S

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:28

A

B = never

C = never

D = never

E = never

F = never

G = never

H = never

I = never

J = never

K = never

L = never

M = never

N = never

O = never

P = never

Q = never

R = never

S = never

A

(_) => B

(_) => C

(_) => D

(_) => E

(_) => F

(_) => G

(_) => H

(_) => I

(_) => J

(_) => K

(_) => L

(_) => M

(_) => N

(_) => O

(_) => P

(_) => Q

(_) => R

(_) => S

S

Schema.pipe

pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T>(this, ab, bc, cd, de, ef, fg, gh, hi, ij, jk, kl, lm, mn, no, op, pq, qr, rs, st): T

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:29

A

B = never

C = never

D = never

E = never

F = never

G = never

H = never

I = never

J = never

K = never

L = never

M = never

N = never

O = never

P = never

Q = never

R = never

S = never

T = never

A

(_) => B

(_) => C

(_) => D

(_) => E

(_) => F

(_) => G

(_) => H

(_) => I

(_) => J

(_) => K

(_) => L

(_) => M

(_) => N

(_) => O

(_) => P

(_) => Q

(_) => R

(_) => S

(_) => T

T

Schema.pipe

pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U>(this, ab, bc, cd, de, ef, fg, gh, hi, ij, jk, kl, lm, mn, no, op, pq, qr, rs, st, tu): U

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:30

A

B = never

C = never

D = never

E = never

F = never

G = never

H = never

I = never

J = never

K = never

L = never

M = never

N = never

O = never

P = never

Q = never

R = never

S = never

T = never

U = never

A

(_) => B

(_) => C

(_) => D

(_) => E

(_) => F

(_) => G

(_) => H

(_) => I

(_) => J

(_) => K

(_) => L

(_) => M

(_) => N

(_) => O

(_) => P

(_) => Q

(_) => R

(_) => S

(_) => T

(_) => U

U

Schema.pipe

pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U>(this, ab, bc, cd, de, ef, fg, gh, hi, ij, jk, kl, lm, mn, no, op, pq, qr, rs, st, tu): U

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Pipeable.d.ts:31

A

B = never

C = never

D = never

E = never

F = never

G = never

H = never

I = never

J = never

K = never

L = never

M = never

N = never

O = never

P = never

Q = never

R = never

S = never

T = never

U = never

A

(_) => B

(_) => C

(_) => D

(_) => E

(_) => F

(_) => G

(_) => H

(_) => I

(_) => J

(_) => K

(_) => L

(_) => M

(_) => N

(_) => O

(_) => P

(_) => Q

(_) => R

(_) => S

(_) => T

(_) => U

U

Schema.pipe


transformOrFail<Transformed>(identifier): <NewFields, R2, R3>(fields, options, annotations?) => [Transformed] extends [never] ? "Missing `Self` generic - use `class Self extends Base.transformOrFail<Self>()({ ... })`" : Class<Transformed, Fields & NewFields, I, R | R2 | R3 | Context<NewFields[keyof NewFields]>, C & Constructor<NewFields>, Self, Proto>

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Schema.d.ts:4326

Transformed = never

string

<NewFields, R2, R3>(fields, options, annotations?): [Transformed] extends [never] ? "Missing `Self` generic - use `class Self extends Base.transformOrFail<Self>()({ ... })`" : Class<Transformed, Fields & NewFields, I, R | R2 | R3 | Context<NewFields[keyof NewFields]>, C & Constructor<NewFields>, Self, Proto>

NewFields extends Fields

R2

R3

NewFields

(input, options, ast) => Effect<{ [K in string | number | symbol]: Type<Fields & NewFields>[K] }, ParseIssue, R2>

(input, options, ast) => Effect<Type<Fields>, ParseIssue, R3>

ClassAnnotations<Transformed, { [K in string | number | symbol]: Type<Fields & NewFields>[K] }>

[Transformed] extends [never] ? "Missing `Self` generic - use `class Self extends Base.transformOrFail<Self>()({ ... })`" : Class<Transformed, Fields & NewFields, I, R | R2 | R3 | Context<NewFields[keyof NewFields]>, C & Constructor<NewFields>, Self, Proto>

import { Effect, Schema } from "effect"
class MyClass extends Schema.Class<MyClass>("MyClass")({
myField: Schema.String
}) {
myMethod() {
return this.myField + "my"
}
}
class NextClass extends MyClass.transformOrFail<NextClass>("NextClass")({
nextField: Schema.Number
}, {
decode: (i) =>
Effect.succeed({
myField: i.myField,
nextField: i.myField.length
}),
encode: (a) => Effect.succeed({ myField: a.myField })
}) {
nextMethod() {
return this.myMethod() + this.myField + this.nextField
}
}

transformOrFailFrom<Transformed>(identifier): <NewFields, R2, R3>(fields, options, annotations?) => [Transformed] extends [never] ? "Missing `Self` generic - use `class Self extends Base.transformOrFailFrom<Self>()({ ... })`" : Class<Transformed, Fields & NewFields, I, R | R2 | R3 | Context<NewFields[keyof NewFields]>, C & Constructor<NewFields>, Self, Proto>

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Schema.d.ts:4359

Transformed = never

string

<NewFields, R2, R3>(fields, options, annotations?): [Transformed] extends [never] ? "Missing `Self` generic - use `class Self extends Base.transformOrFailFrom<Self>()({ ... })`" : Class<Transformed, Fields & NewFields, I, R | R2 | R3 | Context<NewFields[keyof NewFields]>, C & Constructor<NewFields>, Self, Proto>

NewFields extends Fields

R2

R3

NewFields

(input, options, ast) => Effect<{ [K in string | number | symbol]: (I & { readonly [K in string | number | symbol as Key<NewFields, K>]: Encoded<NewFields[K]> } & { readonly [K in string | number | symbol as Key<NewFields, K>]?: Encoded<(…)[(…)]> })[K] }, ParseIssue, R2>

(input, options, ast) => Effect<I, ParseIssue, R3>

ClassAnnotations<Transformed, { [K in string | number | symbol]: Type<Fields & NewFields>[K] }>

[Transformed] extends [never] ? "Missing `Self` generic - use `class Self extends Base.transformOrFailFrom<Self>()({ ... })`" : Class<Transformed, Fields & NewFields, I, R | R2 | R3 | Context<NewFields[keyof NewFields]>, C & Constructor<NewFields>, Self, Proto>

import { Effect, Schema } from "effect"
class MyClass extends Schema.Class<MyClass>("MyClass")({
myField: Schema.String
}) {
myMethod() {
return this.myField + "my"
}
}
class NextClass extends MyClass.transformOrFailFrom<NextClass>("NextClass")({
nextField: Schema.Number
}, {
decode: (i) =>
Effect.succeed({
myField: i.myField,
nextField: i.myField.length
}),
encode: (a) => Effect.succeed({ myField: a.myField })
}) {
nextMethod() {
return this.myMethod() + this.myField + this.nextField
}
}