Files
gridpilot.gg/packages/shared/application/UseCase.ts
2025-12-11 13:50:38 +01:00

17 lines
459 B
TypeScript

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>>;
}