Patch Changes
-
#3043
1d62815
Thanks @gcanti! - Addmake
constructor toClass
-based APIs, closes #3042Introduced a
make
constructor to class-based APIs to facilitate easier instantiation of classes. This method allows developers to create instances of a class without directly using thenew
keyword.Example
import { Schema } from "@effect/schema"; class MyClass extends Schema.Class<MyClass>("MyClass")({ someField: Schema.String, }) { someMethod() { return this.someField + "bar"; } } // Create an instance of MyClass using the make constructor const instance = MyClass.make({ someField: "foo" }); // same as new MyClass({ someField: "foo" }) // Outputs to console to demonstrate that the instance is correctly created console.log(instance instanceof MyClass); // true console.log(instance.someField); // "foo" console.log(instance.someMethod()); // "foobar"