class SomeLibraryClass {
method1(n: number): Promise<string> {}
method2(n: number, s: string): Promise<void> {}
}
const instance = new SomeLibraryClass()
const {
method1,
method2,
} = magic(SomeLibraryClass);
method1(1)(instance)
// Nice to have: Effect<never, unknown, string>
// At least: Promise<string>
method2(10, 'abc')(instance)
// Nice to have: Effect<never, unknown, void>
// At least: void
class SomeLibraryClass {
method1(n: number): Promise<string> {}
method2(n: number, s: string): Promise<void> {}
}
const instance = new SomeLibraryClass()
const {
method1,
method2,
} = magic(SomeLibraryClass);
method1(1)(instance)
// Nice to have: Effect<never, unknown, string>
// At least: Promise<string>
method2(10, 'abc')(instance)
// Nice to have: Effect<never, unknown, void>
// At least: void