From 096d4a92e770777b87c86813e95865a5cb390c99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Sun, 28 Jan 2024 20:23:44 +0100 Subject: [PATCH] Trait examples --- src/tests.ts | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/tests.ts b/src/tests.ts index 9a8400d..59df546 100644 --- a/src/tests.ts +++ b/src/tests.ts @@ -1,4 +1,20 @@ import { trait } from "." -const PrintsHelloOnNew = trait() +const PrintsHelloOnNew = trait()(Super => + class PrintsHelloOnNew extends Super { + constructor(...args: any[]) { + super(...args) + console.log("Hello!") + } + } +) + +const Identifiable = () => + trait<{ id: ID }>()(Super => + class Identifiable extends Super { + equals(el: Identifiable) { + return this.id === el.id + } + } + )