This commit is contained in:
Julien Valverdé
2024-06-12 02:14:19 +02:00
parent fe5a863d9b
commit 0c8b9f3452
7 changed files with 46 additions and 29 deletions

View File

@@ -3,22 +3,21 @@ import { MutableClass } from "./MutableClass"
import { pipe } from "remeda"
import { Mutable } from "./Mutable"
import { MobXObservable } from "./MobXObservable"
import { Class } from "./Class"
const UserSuper = <Self>() => pipe(
MutableClass<Self>("User")({
Class<Self>("User")({
id: S.BigIntFromSelf,
role: S.Union(S.Literal("BasicUser"), S.Literal("Admin")),
}),
v => MobXObservable(v),
Mutable,
MobXObservable,
)
class User extends MutableClass<User>("User")({
id: S.BigIntFromSelf,
role: S.Union(S.Literal("BasicUser"), S.Literal("Admin")),
}) {}
class User extends UserSuper<User>() {}
const user1 = new User({ id: 1n, role: "BasicUser" })
user1.id = 1n