mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00
feat: add CompositeAsyncHandler to support multiple handlers
This commit is contained in:
24
test/util/StaticAsyncHandler.ts
Normal file
24
test/util/StaticAsyncHandler.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { AsyncHandler } from '../../src/util/AsyncHandler';
|
||||
|
||||
export class StaticAsyncHandler<TOut> extends AsyncHandler<any, TOut> {
|
||||
private readonly canHandleStatic: boolean;
|
||||
|
||||
private readonly handleStatic: TOut;
|
||||
|
||||
public constructor (canHandleStatic: boolean, handleStatic: TOut) {
|
||||
super();
|
||||
this.canHandleStatic = canHandleStatic;
|
||||
this.handleStatic = handleStatic;
|
||||
}
|
||||
|
||||
public async canHandle (): Promise<void> {
|
||||
if (this.canHandleStatic) {
|
||||
return;
|
||||
}
|
||||
throw new Error('Not supported.');
|
||||
}
|
||||
|
||||
public async handle (): Promise<TOut> {
|
||||
return this.handleStatic;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user