gx
chenyc
2025-06-12 7b72ac13a83764a662159d4a49b7fffb90476ecb
1
2
3
4
5
6
7
8
9
10
export class ComposableTask<T> {
  // eslint-disable-next-line no-unused-vars
  public async then(onfulfilled: (value: T) => T | PromiseLike<T>): Promise<T> {
    return onfulfilled(await this.run());
  }
 
  public async run(): Promise<T> {
    throw new Error('ComposableTask - run is not implemented');
  }
}