Files

22 lines
419 B
TypeScript

interface Runner {
run(): Promise<string>;
}
type WorkerOptions = {
name: string;
};
class Worker implements Runner {
constructor(private readonly options: WorkerOptions) {}
async run(): Promise<string> {
return this.options.name;
}
}
export function createWorker(options: WorkerOptions): Runner {
return new Worker(options);
}
export const defaultWorker = () => createWorker({ name: "default" });