From 6979cc27a7a7d36679cdf8baa34465331cddef56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Thu, 9 May 2024 03:45:34 +0200 Subject: [PATCH] Effect tests --- src/effect/tests.ts | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/effect/tests.ts diff --git a/src/effect/tests.ts b/src/effect/tests.ts new file mode 100644 index 0000000..2c653c9 --- /dev/null +++ b/src/effect/tests.ts @@ -0,0 +1,30 @@ +import { Schema as S } from "@effect/schema" +import { Implements } from "../TraitExpression" +import { expression } from "../TraitExpressionBuilder" +import { extendsEffectSchemaExpression } from "../effect" + + +const UserSchema = S.Class("User")({ + id: S.BigIntFromSelf +}) + +const userExp = expression + .extends(UserSchema) + .build() + +@userExp.staticImplements +class User extends extendsEffectSchemaExpression(userExp)() implements Implements { + static aStaticMethodThatShouldBeInherited() {} +} + + +const AdminSchema = User.extend("Admin")({ +}) + +const adminExp = expression + .extends(AdminSchema) + .build() + +@adminExp.staticImplements +class Admin extends extendsEffectSchemaExpression(adminExp)() implements Implements { +}