ember-test-waiters
ember-test-waiters copied to clipboard
Runloop compatible `waitFor` type
Is it feasible to provide a type for waitFor that is compatible with Ember's runloop functions?
Looking to do something like:
schedule('afterRender', waitFor(async () => { … }))
However this currently throws a type error:
Argument of type 'Function' is not assignable to parameter of type 'AnyFn'.
Type 'Function' provides no match for the signature '(...args: any[]): unknown'. ts(2345)
Adding this function override appears to minimally be enough to clear up the issue:
export default function waitFor(fn: AsyncFunction<any[], any>, label?: string): (...args: any[]) => unknown;
A possibly more robust solution:
export default function waitFor(fn: AsyncFunction<unknown[], unknown>, label?: string): (...args: unknown[]) => unknown;