@httpc/kit
Version:
httpc toolbox for building function-based API with minimal code and end-to-end type safety
17 lines (16 loc) • 1.08 kB
TypeScript
import type { ILogger } from "../logging";
import { ServiceErrorPresets, ServiceErrors } from "./error";
import type { ITransactionService } from "./types";
export declare const ServiceErrorPreset: ServiceErrorPresets<"" | "not_found" | "invalid_param" | "unauthorized" | "forbidden" | "not_allowed" | "invalid_state" | "misconfiguration" | "not_supported" | "processing_error">;
export declare function BaseService<E extends ServiceErrorPresets = typeof ServiceErrorPreset>(presets?: E): typeof _BaseService<ServiceErrors<E>>;
export declare class _BaseService<TError extends string> {
protected readonly logger: ILogger;
private readonly __arguments;
private readonly __errorPresets?;
private __inTransaction;
constructor(logger: ILogger, ...args: any[]);
protected _setArguments(args: readonly any[]): void;
inTransaction(data: ITransactionService): this;
protected _raiseError(error: TError, data?: Record<string, any>): never;
protected _raiseError(error: TError, message?: string, data?: Record<string, any>): never;
}