This commit is contained in:
Luiz H. R. Silva 2024-06-18 08:48:00 -03:00
parent b1d8db215a
commit c10a2584e6
6 changed files with 175 additions and 48 deletions

View file

@ -14,7 +14,7 @@ export type tipoRespostaSucesso<T> = {
detalhes?: string[]; detalhes?: string[];
}; };
export type tipoRespostaErro = { export type tipoRespostaErro = {
cod: codigosResposta.erroConhecido | codigosResposta.erroDesconhecido | codigosResposta.erroPermissao; cod: codigosResposta.erroConhecido | codigosResposta.erroDesconhecido | codigosResposta.erroPermissao | codigosResposta.erroNaoEncontrado;
valor: undefined; valor: undefined;
mensagem: string; mensagem: string;
eErro: true; eErro: true;
@ -23,19 +23,57 @@ export type tipoRespostaErro = {
}; };
export type tipoResposta<T> = tipoRespostaSucesso<T> | tipoRespostaErro; export type tipoResposta<T> = tipoRespostaSucesso<T> | tipoRespostaErro;
export declare const gerarRespostas: <T>(registrarErroInterno: (erro: T) => Partial<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>; valor: <T_1>(valor: T_1, detalhes?: string[]) => tipoRespostaSucesso<T_1>;
/**
* Gera uma resposta de sucesso com valor true
*/
valorTrue: (detalhes?: string[]) => tipoRespostaSucesso<true>; valorTrue: (detalhes?: string[]) => tipoRespostaSucesso<true>;
/**
* Gera uma resposta de erro conhecido
*/
erro: (mensagem: string, detalhes?: string[]) => tipoRespostaErro; 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; 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; 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 * Uso de respostas em comuns
*/ */
export declare const respostaComuns: { export declare const respostaComuns: {
/**
* Gera uma resposta de sucesso
*/
valor: <T>(valor: T, detalhes?: string[]) => tipoRespostaSucesso<T>; valor: <T>(valor: T, detalhes?: string[]) => tipoRespostaSucesso<T>;
/**
* Gera uma resposta de sucesso com valor true
*/
valorTrue: (detalhes?: string[]) => tipoRespostaSucesso<true>; valorTrue: (detalhes?: string[]) => tipoRespostaSucesso<true>;
/**
* Gera uma resposta de erro conhecido
*/
erro: (mensagem: string, detalhes?: string[]) => tipoRespostaErro; 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; 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; 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;
}; };

View file

@ -7,9 +7,6 @@ export var codigosResposta;
codigosResposta[codigosResposta["erroDesconhecido"] = 500] = "erroDesconhecido"; codigosResposta[codigosResposta["erroDesconhecido"] = 500] = "erroDesconhecido";
})(codigosResposta || (codigosResposta = {})); })(codigosResposta || (codigosResposta = {}));
export const gerarRespostas = (registrarErroInterno) => { export const gerarRespostas = (registrarErroInterno) => {
/**
* Gera uma resposta de sucesso
*/
const valor = (valor, detalhes) => { const valor = (valor, detalhes) => {
return { return {
cod: codigosResposta.sucesso, cod: codigosResposta.sucesso,
@ -20,9 +17,6 @@ export const gerarRespostas = (registrarErroInterno) => {
detalhes, detalhes,
}; };
}; };
/**
* Gera uma resposta de sucesso com valor true
*/
const valorTrue = (detalhes) => { const valorTrue = (detalhes) => {
return { return {
cod: codigosResposta.sucesso, cod: codigosResposta.sucesso,
@ -33,9 +27,6 @@ export const gerarRespostas = (registrarErroInterno) => {
detalhes, detalhes,
}; };
}; };
/**
* Gera uma resposta de erro conhecido
*/
const erro = (mensagem, detalhes) => { const erro = (mensagem, detalhes) => {
return { return {
cod: codigosResposta.erroConhecido, cod: codigosResposta.erroConhecido,
@ -46,9 +37,6 @@ export const gerarRespostas = (registrarErroInterno) => {
detalhes, detalhes,
}; };
}; };
/**
* Gera uma resposta de erro de permissão,será necessário fazer o login novamente
*/
const erroPermissao = (mensagem, detalhes) => { const erroPermissao = (mensagem, detalhes) => {
return { return {
cod: codigosResposta.erroPermissao, cod: codigosResposta.erroPermissao,
@ -59,9 +47,17 @@ export const gerarRespostas = (registrarErroInterno) => {
detalhes, detalhes,
}; };
}; };
/** const naoEncontrado = (mensagem, detalhes) => {
* Gera uma resposta de erro desconhecido, geralmente tem origem de um exception return {
*/ cod: codigosResposta.erroNaoEncontrado,
valor: undefined,
mensagem: mensagem ||
"Registro não encontrado ou a execução dessa ação depende de um registro existente.",
eErro: true,
eCerto: false,
detalhes,
};
};
const erroInterno = (parametros, mensagem) => { const erroInterno = (parametros, mensagem) => {
const resRegistro = registrarErroInterno(parametros); const resRegistro = registrarErroInterno(parametros);
const mensagemFim = `${mensagem || "Erro interno"}`; const mensagemFim = `${mensagem || "Erro interno"}`;
@ -75,11 +71,30 @@ export const gerarRespostas = (registrarErroInterno) => {
}; };
}; };
return { return {
/**
* Gera uma resposta de sucesso
*/
valor, valor,
/**
* Gera uma resposta de sucesso com valor true
*/
valorTrue, valorTrue,
/**
* Gera uma resposta de erro conhecido
*/
erro, erro,
/**
* Gera uma resposta de erro de permissão,será necessário fazer o login novamente
*/
erroPermissao, erroPermissao,
/**
* Gera uma resposta de erro desconhecido, geralmente tem origem de um exception
*/
erroInterno, erroInterno,
/**
* Gera uma resposta de erro quando um registro não é encontrado ou sua execução depende de um registro existente
*/
naoEncontrado,
}; };
}; };
/** /**

View file

@ -14,7 +14,7 @@ export type tipoRespostaSucesso<T> = {
detalhes?: string[]; detalhes?: string[];
}; };
export type tipoRespostaErro = { export type tipoRespostaErro = {
cod: codigosResposta.erroConhecido | codigosResposta.erroDesconhecido | codigosResposta.erroPermissao; cod: codigosResposta.erroConhecido | codigosResposta.erroDesconhecido | codigosResposta.erroPermissao | codigosResposta.erroNaoEncontrado;
valor: undefined; valor: undefined;
mensagem: string; mensagem: string;
eErro: true; eErro: true;
@ -23,19 +23,57 @@ export type tipoRespostaErro = {
}; };
export type tipoResposta<T> = tipoRespostaSucesso<T> | tipoRespostaErro; export type tipoResposta<T> = tipoRespostaSucesso<T> | tipoRespostaErro;
export declare const gerarRespostas: <T>(registrarErroInterno: (erro: T) => Partial<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>; valor: <T_1>(valor: T_1, detalhes?: string[]) => tipoRespostaSucesso<T_1>;
/**
* Gera uma resposta de sucesso com valor true
*/
valorTrue: (detalhes?: string[]) => tipoRespostaSucesso<true>; valorTrue: (detalhes?: string[]) => tipoRespostaSucesso<true>;
/**
* Gera uma resposta de erro conhecido
*/
erro: (mensagem: string, detalhes?: string[]) => tipoRespostaErro; 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; 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; 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 * Uso de respostas em comuns
*/ */
export declare const respostaComuns: { export declare const respostaComuns: {
/**
* Gera uma resposta de sucesso
*/
valor: <T>(valor: T, detalhes?: string[]) => tipoRespostaSucesso<T>; valor: <T>(valor: T, detalhes?: string[]) => tipoRespostaSucesso<T>;
/**
* Gera uma resposta de sucesso com valor true
*/
valorTrue: (detalhes?: string[]) => tipoRespostaSucesso<true>; valorTrue: (detalhes?: string[]) => tipoRespostaSucesso<true>;
/**
* Gera uma resposta de erro conhecido
*/
erro: (mensagem: string, detalhes?: string[]) => tipoRespostaErro; 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; 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; 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;
}; };

View file

@ -10,9 +10,6 @@ var codigosResposta;
codigosResposta[codigosResposta["erroDesconhecido"] = 500] = "erroDesconhecido"; codigosResposta[codigosResposta["erroDesconhecido"] = 500] = "erroDesconhecido";
})(codigosResposta = exports.codigosResposta || (exports.codigosResposta = {})); })(codigosResposta = exports.codigosResposta || (exports.codigosResposta = {}));
const gerarRespostas = (registrarErroInterno) => { const gerarRespostas = (registrarErroInterno) => {
/**
* Gera uma resposta de sucesso
*/
const valor = (valor, detalhes) => { const valor = (valor, detalhes) => {
return { return {
cod: codigosResposta.sucesso, cod: codigosResposta.sucesso,
@ -23,9 +20,6 @@ const gerarRespostas = (registrarErroInterno) => {
detalhes, detalhes,
}; };
}; };
/**
* Gera uma resposta de sucesso com valor true
*/
const valorTrue = (detalhes) => { const valorTrue = (detalhes) => {
return { return {
cod: codigosResposta.sucesso, cod: codigosResposta.sucesso,
@ -36,9 +30,6 @@ const gerarRespostas = (registrarErroInterno) => {
detalhes, detalhes,
}; };
}; };
/**
* Gera uma resposta de erro conhecido
*/
const erro = (mensagem, detalhes) => { const erro = (mensagem, detalhes) => {
return { return {
cod: codigosResposta.erroConhecido, cod: codigosResposta.erroConhecido,
@ -49,9 +40,6 @@ const gerarRespostas = (registrarErroInterno) => {
detalhes, detalhes,
}; };
}; };
/**
* Gera uma resposta de erro de permissão,será necessário fazer o login novamente
*/
const erroPermissao = (mensagem, detalhes) => { const erroPermissao = (mensagem, detalhes) => {
return { return {
cod: codigosResposta.erroPermissao, cod: codigosResposta.erroPermissao,
@ -62,9 +50,17 @@ const gerarRespostas = (registrarErroInterno) => {
detalhes, detalhes,
}; };
}; };
/** const naoEncontrado = (mensagem, detalhes) => {
* Gera uma resposta de erro desconhecido, geralmente tem origem de um exception return {
*/ cod: codigosResposta.erroNaoEncontrado,
valor: undefined,
mensagem: mensagem ||
"Registro não encontrado ou a execução dessa ação depende de um registro existente.",
eErro: true,
eCerto: false,
detalhes,
};
};
const erroInterno = (parametros, mensagem) => { const erroInterno = (parametros, mensagem) => {
const resRegistro = registrarErroInterno(parametros); const resRegistro = registrarErroInterno(parametros);
const mensagemFim = `${mensagem || "Erro interno"}`; const mensagemFim = `${mensagem || "Erro interno"}`;
@ -78,11 +74,30 @@ const gerarRespostas = (registrarErroInterno) => {
}; };
}; };
return { return {
/**
* Gera uma resposta de sucesso
*/
valor, valor,
/**
* Gera uma resposta de sucesso com valor true
*/
valorTrue, valorTrue,
/**
* Gera uma resposta de erro conhecido
*/
erro, erro,
/**
* Gera uma resposta de erro de permissão,será necessário fazer o login novamente
*/
erroPermissao, erroPermissao,
/**
* Gera uma resposta de erro desconhecido, geralmente tem origem de um exception
*/
erroInterno, erroInterno,
/**
* Gera uma resposta de erro quando um registro não é encontrado ou sua execução depende de um registro existente
*/
naoEncontrado,
}; };
}; };
exports.gerarRespostas = gerarRespostas; exports.gerarRespostas = gerarRespostas;

View file

@ -1,6 +1,6 @@
{ {
"name": "p-respostas", "name": "p-respostas",
"version": "0.10.0", "version": "0.12.0",
"description": "", "description": "",
"main": "src/index.ts", "main": "src/index.ts",
"exports": { "exports": {

View file

@ -20,6 +20,7 @@ export type tipoRespostaErro = {
| codigosResposta.erroConhecido | codigosResposta.erroConhecido
| codigosResposta.erroDesconhecido | codigosResposta.erroDesconhecido
| codigosResposta.erroPermissao | codigosResposta.erroPermissao
| codigosResposta.erroNaoEncontrado
valor: undefined valor: undefined
mensagem: string mensagem: string
eErro: true eErro: true
@ -32,9 +33,6 @@ export type tipoResposta<T> = tipoRespostaSucesso<T> | tipoRespostaErro
export const gerarRespostas = <T>( export const gerarRespostas = <T>(
registrarErroInterno: (erro: T) => Partial<tipoRespostaErro>, registrarErroInterno: (erro: T) => Partial<tipoRespostaErro>,
) => { ) => {
/**
* Gera uma resposta de sucesso
*/
const valor = <T>(valor: T, detalhes?: string[]): tipoRespostaSucesso<T> => { const valor = <T>(valor: T, detalhes?: string[]): tipoRespostaSucesso<T> => {
return { return {
cod: codigosResposta.sucesso, cod: codigosResposta.sucesso,
@ -46,9 +44,6 @@ export const gerarRespostas = <T>(
} }
} }
/**
* Gera uma resposta de sucesso com valor true
*/
const valorTrue = (detalhes?: string[]): tipoRespostaSucesso<true> => { const valorTrue = (detalhes?: string[]): tipoRespostaSucesso<true> => {
return { return {
cod: codigosResposta.sucesso, cod: codigosResposta.sucesso,
@ -60,9 +55,6 @@ export const gerarRespostas = <T>(
} }
} }
/**
* Gera uma resposta de erro conhecido
*/
const erro = (mensagem: string, detalhes?: string[]): tipoRespostaErro => { const erro = (mensagem: string, detalhes?: string[]): tipoRespostaErro => {
return { return {
cod: codigosResposta.erroConhecido, cod: codigosResposta.erroConhecido,
@ -74,9 +66,6 @@ export const gerarRespostas = <T>(
} }
} }
/**
* Gera uma resposta de erro de permissão,será necessário fazer o login novamente
*/
const erroPermissao = ( const erroPermissao = (
mensagem?: string | undefined | null, mensagem?: string | undefined | null,
detalhes?: string[], detalhes?: string[],
@ -91,9 +80,22 @@ export const gerarRespostas = <T>(
} }
} }
/** const naoEncontrado = (
* Gera uma resposta de erro desconhecido, geralmente tem origem de um exception mensagem?: string | undefined | null,
*/ detalhes?: string[],
): tipoRespostaErro => {
return {
cod: codigosResposta.erroNaoEncontrado,
valor: undefined,
mensagem:
mensagem ||
"Registro não encontrado ou a execução dessa ação depende de um registro existente.",
eErro: true,
eCerto: false,
detalhes,
}
}
const erroInterno = (parametros: T, mensagem?: string): tipoRespostaErro => { const erroInterno = (parametros: T, mensagem?: string): tipoRespostaErro => {
const resRegistro = registrarErroInterno(parametros) const resRegistro = registrarErroInterno(parametros)
@ -110,11 +112,30 @@ export const gerarRespostas = <T>(
} }
return { return {
/**
* Gera uma resposta de sucesso
*/
valor, valor,
/**
* Gera uma resposta de sucesso com valor true
*/
valorTrue, valorTrue,
/**
* Gera uma resposta de erro conhecido
*/
erro, erro,
/**
* Gera uma resposta de erro de permissão,será necessário fazer o login novamente
*/
erroPermissao, erroPermissao,
/**
* Gera uma resposta de erro desconhecido, geralmente tem origem de um exception
*/
erroInterno, erroInterno,
/**
* Gera uma resposta de erro quando um registro não é encontrado ou sua execução depende de um registro existente
*/
naoEncontrado,
} }
} }