UNPKG

@igleite/tsutils

Version:

Uma coleção de utilitários em TypeScript para facilitar o desenvolvimento no dia a dia.

73 lines (72 loc) 2.73 kB
/** * Classe que representa falhas de validação. */ export declare class ValidationFailure { propertyName: string; errorMessage: string; /** * Cria uma instância de `ValidationFailure`. * * @param {string} propertyName - O nome da propriedade que falhou na validação. * @param {string} errorMessage - A mensagem de erro associada à falha de validação. */ constructor(propertyName: string, errorMessage: string); } /** * Classe `Result` para encapsular o sucesso ou falha de uma operação. * * @template T - Tipo de dado que pode ser retornado em caso de sucesso, o padrão é `null`. */ export declare class Result<T = null> { succeeded: boolean; data?: T | undefined; failures: ValidationFailure[]; /** * Cria uma instância de `Result`. * * @param {boolean} succeeded - Indica se a operação foi bem-sucedida. * @param {T} [data] - Dados retornados em caso de sucesso. * @param {ValidationFailure[]} [failures=[]] - Lista de falhas em caso de erro. */ constructor(succeeded: boolean, data?: T | undefined, failures?: ValidationFailure[]); /** * Método estático para criar um `Result` com falhas. * * Pode receber uma ou mais falhas, sendo elas instâncias de `ValidationFailure` ou strings. * * @param {...(ValidationFailure | string)} failures - As falhas que ocorreram, podem ser instâncias de `ValidationFailure` ou mensagens de erro como string. * @returns {Result<T>} Um novo `Result` indicando falha. */ static False<T>(...failures: (ValidationFailure | string)[]): Result<T>; /** * Método estático para criar um `Result` com sucesso. * * @param {T} [data] - Dados retornados em caso de sucesso. * @returns {Result<T>} Um novo `Result` indicando sucesso. */ static True<T>(data?: T): Result<T>; /** * Verifica se o resultado foi bem-sucedido. * * @returns {boolean} Retorna `true` se o resultado for sucesso. */ isSuccess(): boolean; /** * Verifica se o resultado foi uma falha. * * @returns {boolean} Retorna `true` se o resultado for uma falha. */ isFailure(): boolean; /** * Retorna os erros associados ao resultado, se houver falhas. * * @returns {ValidationFailure[]} A lista de falhas de validação. */ getErrors(): ValidationFailure[]; /** * Retorna os dados associados ao resultado, se houver sucesso. * * @returns {T | undefined} Os dados retornados em caso de sucesso ou `undefined` se não houver dados. */ getData(): T | undefined; }