import { Schema } from "effect"
class Person extends Schema.Class<Person>("Person")({
name: Schema.NonEmptyString
}) {}
new Person({ name: "foo" }).name
class Person2 {
private name: string
constructor({name}:{name: string}) {
this.name = name
}
}
new Person2({ name: "foo" }).name // ts error: Property 'name' is private and only accessible within class 'Person2'
import { Schema } from "effect"
class Person extends Schema.Class<Person>("Person")({
name: Schema.NonEmptyString
}) {}
new Person({ name: "foo" }).name
class Person2 {
private name: string
constructor({name}:{name: string}) {
this.name = name
}
}
new Person2({ name: "foo" }).name // ts error: Property 'name' is private and only accessible within class 'Person2'