import { KuzzleError } from "../../kerror/errors"; import { ApplicationManager, Backend } from "./index"; import { CustomErrorDefinition } from "../../types"; export declare class BackendErrors extends ApplicationManager { private domains; constructor(application: Backend); /** * Register a new standard KuzzleError * * @param domain Domain name * @param subDomain Subdomain name * @param name Standard error name * @param definition Standard error definition * * @example * ``` * app.errors.register('app', 'api', 'custom', { * class: 'BadRequestError', * description: 'This is a custom error from API subdomain', * message: 'Custom API error: %s', * }); * ``` */ register(domain: string, subDomain: string, name: string, definition: CustomErrorDefinition): void; /** * Get a standardized KuzzleError * * @param domain Domain name * @param subDomain Subdomain name * @param name Standard error name * @param placeholders Other placeholder arguments * * @example throw app.errors.get('app', 'api', 'custom', 'Tbilisi'); * * @returns Standardized KuzzleError */ get(domain: string, subDomain: string, name: string, ...placeholders: any[]): KuzzleError; /** * Get a standardized KuzzleError from an existing error to keep the stacktrace * * @param source Original error * @param domain Domain name * @param subDomain Subdomain name * @param name Standard error name * @param placeholders Other placeholder arguments * * @returns Standardized KuzzleError */ getFrom(source: Error, domain: string, subDomain: string, name: string, ...placeholders: any[]): KuzzleError; /** * Wrap an error manager on the domain and subDomain * * @param domain Domain name * @param subDomain Subdomain to wrap to */ wrap(domain: string, subDomain: string): { get: (error: any, ...placeholders: any[]) => KuzzleError; getFrom: (source: any, error: any, ...placeholders: any[]) => KuzzleError; reject: (error: any, ...placeholders: any[]) => Promise; }; }