Files
gridpilot.gg/core/shared/application/Service.ts
2026-01-16 13:48:18 +01:00

19 lines
505 B
TypeScript

import type { Result } from '../domain/Result';
import type { ApplicationError } from '../errors/ApplicationError';
export interface ApplicationService {
readonly serviceName?: string;
}
export interface AsyncApplicationService<Input, Output> extends ApplicationService {
execute(input: Input): Promise<Output>;
}
export interface AsyncResultApplicationService<
Input,
Output,
Error = ApplicationError
> extends ApplicationService {
execute(input: Input): Promise<Result<Output, Error>>;
}