@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
TypeScript
/**
* 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;
}