Work
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user