Skip to content

Class

Class<Self>(identifier): <Fields>(fieldsOr, annotations?) => [Self] extends [never] ? "Missing `Self` generic - use `class Self extends Class<Self>()({ ... })`" : Class<Self, Fields, Encoded<Fields>, Context<Fields[keyof Fields]>, Constructor<Fields>, {}, {}>

Defined in: node_modules/.pnpm/effect@3.14.8/node_modules/effect/dist/dts/Schema.d.ts:4386

Type Parameters

Self = never

Parameters

identifier

string

Returns

Function

Type Parameters

Fields extends Fields

Parameters

fieldsOr

Fields | HasFields<Fields>

annotations?

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

Returns

[Self] extends [never] ? "Missing `Self` generic - use `class Self extends Class<Self>()({ ... })`" : Class<Self, Fields, Encoded<Fields>, Context<Fields[keyof Fields]>, Constructor<Fields>, {}, {}>

Example

import { Schema } from "effect"
class MyClass extends Schema.Class<MyClass>("MyClass")({
someField: Schema.String
}) {
someMethod() {
return this.someField + "bar"
}
}

Since

3.10.0