wip
This commit is contained in:
17
packages/shared/application/UseCase.ts
Normal file
17
packages/shared/application/UseCase.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import { Result } from '../result/Result';
|
||||
|
||||
export interface IUseCase<Input, Output> {
|
||||
execute(input: Input): Output;
|
||||
}
|
||||
|
||||
export interface AsyncUseCase<Input, Output> {
|
||||
execute(input: Input): Promise<Output>;
|
||||
}
|
||||
|
||||
export interface ResultUseCase<Input, Output, Error = unknown> {
|
||||
execute(input: Input): Result<Output, Error>;
|
||||
}
|
||||
|
||||
export interface AsyncResultUseCase<Input, Output, Error = unknown> {
|
||||
execute(input: Input): Promise<Result<Output, Error>>;
|
||||
}
|
||||
Reference in New Issue
Block a user