This commit is contained in:
2025-12-11 13:50:38 +01:00
parent e4c1be628d
commit c7e5de40d6
212 changed files with 2965 additions and 763 deletions

View File

@@ -0,0 +1,18 @@
import type { Result } from '../result/Result';
import type { IApplicationError } from '../errors/ApplicationError';
export interface IApplicationService {
readonly serviceName?: string;
}
export interface IAsyncApplicationService<Input, Output> extends IApplicationService {
execute(input: Input): Promise<Output>;
}
export interface IAsyncResultApplicationService<
Input,
Output,
Error = IApplicationError
> extends IApplicationService {
execute(input: Input): Promise<Result<Output, Error>>;
}

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

View File

@@ -0,0 +1,2 @@
export * from './UseCase';
export * from './Service';