From 0f65c8ed5a23dcaf779fe14af613f53e47502755 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Sun, 16 Jun 2024 05:31:53 +0200 Subject: [PATCH] MobX tests --- src/effect/schema/class/tests.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/effect/schema/class/tests.ts b/src/effect/schema/class/tests.ts index 25e478d..859af98 100644 --- a/src/effect/schema/class/tests.ts +++ b/src/effect/schema/class/tests.ts @@ -1,4 +1,5 @@ import { Schema as S } from "@effect/schema" +import { reaction, runInAction } from "mobx" import { pipe } from "remeda" import { MobXObservable } from "./MobXObservable" import { MutableTaggedClass } from "./MutableTaggedClass" @@ -12,13 +13,17 @@ class User extends pipe( MobXObservable, ) {} -const user1 = new User({ id: 1n, role: "BasicUser" }) -user1.id = 1n +const user1 = new User({ id: -1n, role: "BasicUser" }) +reaction(() => user1.id, id => console.log(`user1 id changed: ${ id }`)) class Admin extends User.extend("Admin")({ // role: S.Literal("Admin") }) {} -const user2 = new Admin({ id: 2n, role: "Admin" }) -user2.id = 2n +const user2 = new Admin({ id: -1n, role: "Admin" }) +reaction(() => user2.id, id => console.log(`user2 id changed: ${ id }`)) + + +runInAction(() => { user1.id = 1n }) +runInAction(() => { user2.id = 2n })