_respostas/dist-import/respostas.d.ts
2024-06-18 08:48:00 -03:00

79 lines
2.8 KiB
TypeScript

export declare enum codigosResposta {
sucesso = 200,
erroConhecido = 400,
erroPermissao = 401,
erroNaoEncontrado = 404,
erroDesconhecido = 500
}
export type tipoRespostaSucesso<T> = {
cod: codigosResposta.sucesso;
valor: T;
mensagem: undefined;
eErro: false;
eCerto: true;
detalhes?: string[];
};
export type tipoRespostaErro = {
cod: codigosResposta.erroConhecido | codigosResposta.erroDesconhecido | codigosResposta.erroPermissao | codigosResposta.erroNaoEncontrado;
valor: undefined;
mensagem: string;
eErro: true;
eCerto: false;
detalhes?: string[];
};
export type tipoResposta<T> = tipoRespostaSucesso<T> | tipoRespostaErro;
export declare const gerarRespostas: <T>(registrarErroInterno: (erro: T) => Partial<tipoRespostaErro>) => {
/**
* Gera uma resposta de sucesso
*/
valor: <T_1>(valor: T_1, detalhes?: string[]) => tipoRespostaSucesso<T_1>;
/**
* Gera uma resposta de sucesso com valor true
*/
valorTrue: (detalhes?: string[]) => tipoRespostaSucesso<true>;
/**
* Gera uma resposta de erro conhecido
*/
erro: (mensagem: string, detalhes?: string[]) => tipoRespostaErro;
/**
* Gera uma resposta de erro de permissão,será necessário fazer o login novamente
*/
erroPermissao: (mensagem?: string | undefined | null, detalhes?: string[]) => tipoRespostaErro;
/**
* Gera uma resposta de erro desconhecido, geralmente tem origem de um exception
*/
erroInterno: (parametros: T, mensagem?: string) => tipoRespostaErro;
/**
* Gera uma resposta de erro quando um registro não é encontrado ou sua execução depende de um registro existente
*/
naoEncontrado: (mensagem?: string | undefined | null, detalhes?: string[]) => tipoRespostaErro;
};
/**
* Uso de respostas em comuns
*/
export declare const respostaComuns: {
/**
* Gera uma resposta de sucesso
*/
valor: <T>(valor: T, detalhes?: string[]) => tipoRespostaSucesso<T>;
/**
* Gera uma resposta de sucesso com valor true
*/
valorTrue: (detalhes?: string[]) => tipoRespostaSucesso<true>;
/**
* Gera uma resposta de erro conhecido
*/
erro: (mensagem: string, detalhes?: string[]) => tipoRespostaErro;
/**
* Gera uma resposta de erro de permissão,será necessário fazer o login novamente
*/
erroPermissao: (mensagem?: string | undefined | null, detalhes?: string[]) => tipoRespostaErro;
/**
* Gera uma resposta de erro desconhecido, geralmente tem origem de um exception
*/
erroInterno: (parametros: unknown, mensagem?: string) => tipoRespostaErro;
/**
* Gera uma resposta de erro quando um registro não é encontrado ou sua execução depende de um registro existente
*/
naoEncontrado: (mensagem?: string | undefined | null, detalhes?: string[]) => tipoRespostaErro;
};