This commit is contained in:
Luiz Silva 2026-06-19 16:48:18 -03:00
parent e884cdd3d8
commit 9f8aa2299a
7 changed files with 97 additions and 42 deletions

View file

@ -34,6 +34,13 @@ type tipoPrErroInterno = {
local: string;
__filename?: string;
};
/**
* Tipo do callback opcional de interceptação de respostas.
*
* Quando fornecido, é invocado após a construção de toda resposta,
* permitindo side-effects (ex.: logging, telemetria) sem alterar o tipo.
*/
type tipoCallbackResposta = <X>(resposta: tipoResposta<X>) => tipoResposta<X>;
/**
* Cria um conjunto de geradores de respostas.
*
@ -49,14 +56,16 @@ interface InterfaceRespostas {
tempoEsgotado: (mensagem?: string | undefined | null, detalhes?: string[]) => tipoRespostaErro;
erroEspera: (mensagem?: string | undefined | null, detalhes?: string[]) => tipoRespostaErro;
}
declare const gerarRespostas: (
/** Faz um processamento quando erro interno
* Recebe o erro gerado, mensagem personalizada e detalhes
*/
registrarErroInterno: (op: tipoPrErroInterno) => Partial<tipoRespostaErro>) => InterfaceRespostas;
declare const IniciarRespostas: (
/** Callback opcional de interceptação — invocado após a construção de cada resposta */
callback?: tipoCallbackResposta) => InterfaceRespostas;
/**
* Instância default (sem handler de erro interno).
* @deprecated Use IniciarRespostas em seu lugar
*/
declare const gerarRespostas: (callback?: tipoCallbackResposta) => InterfaceRespostas;
/**
* Instância default (sem handler de interceptação).
*/
declare const respostaComuns: InterfaceRespostas;
export { type InterfaceRespostas, codigosResposta, gerarRespostas, respostaComuns, type tipoPrErroInterno, type tipoResposta, type tipoRespostaErro, type tipoRespostaSucesso };
export { IniciarRespostas, type InterfaceRespostas, codigosResposta, gerarRespostas, respostaComuns, type tipoCallbackResposta, type tipoPrErroInterno, type tipoResposta, type tipoRespostaErro, type tipoRespostaSucesso };

View file

@ -1 +1 @@
var u=(e=>(e[e.sucesso=200]="sucesso",e[e.erroConhecido=400]="erroConhecido",e[e.erroPermissao=401]="erroPermissao",e[e.erroNaoEncontrado=404]="erroNaoEncontrado",e[e.erroDesconhecido=500]="erroDesconhecido",e[e.tempoEsgotado=504]="tempoEsgotado",e))(u||{}),g=t=>{let n=(o,r)=>({cod:200,valor:o,mensagem:void 0,eErro:!1,eCerto:!0,detalhes:r}),a=o=>({cod:200,valor:!0,mensagem:void 0,eErro:!1,eCerto:!0,detalhes:o}),i=(o,r)=>({cod:400,valor:void 0,mensagem:o,eErro:!0,eCerto:!1,detalhes:r}),p=(o,r)=>({cod:401,valor:void 0,mensagem:o||"Sem permiss\xE3o para esse recurso.",eErro:!0,eCerto:!1,detalhes:r}),d=(o,r)=>({cod:404,valor:void 0,mensagem:o||"Registro n\xE3o encontrado ou a execu\xE7\xE3o dessa a\xE7\xE3o depende de um registro existente.",eErro:!0,eCerto:!1,detalhes:r}),e=o=>{let r=t(o);return{cod:500,valor:void 0,mensagem:`${o.mensagem||"Erro interno"}`,eErro:!0,eCerto:!1,...r}},s=(o,r)=>({cod:504,valor:void 0,mensagem:o||"Tempo de resposta esgotado ao tentar acessar o recurso.",eErro:!0,eCerto:!1,detalhes:r});return{valor:n,valorTrue:a,erro:i,erroPermissao:p,erroInterno:e,naoEncontrado:d,tempoEsgotado:s,erroEspera:s}},l=g(()=>({}));export{u as codigosResposta,g as gerarRespostas,l as respostaComuns};
var m=(e=>(e[e.sucesso=200]="sucesso",e[e.erroConhecido=400]="erroConhecido",e[e.erroPermissao=401]="erroPermissao",e[e.erroNaoEncontrado=404]="erroNaoEncontrado",e[e.erroDesconhecido=500]="erroDesconhecido",e[e.tempoEsgotado=504]="tempoEsgotado",e))(m||{});function t(s,a){return a?a(s):s}var i=s=>{let a=(o,r)=>t({cod:200,valor:o,mensagem:void 0,eErro:!1,eCerto:!0,detalhes:r},s),d=o=>t({cod:200,valor:!0,mensagem:void 0,eErro:!1,eCerto:!0,detalhes:o},s),u=(o,r)=>t({cod:400,valor:void 0,mensagem:o,eErro:!0,eCerto:!1,detalhes:r},s),c=(o,r)=>t({cod:401,valor:void 0,mensagem:o||"Sem permiss\xE3o para esse recurso.",eErro:!0,eCerto:!1,detalhes:r},s),g=(o,r)=>t({cod:404,valor:void 0,mensagem:o||"Registro n\xE3o encontrado ou a execu\xE7\xE3o dessa a\xE7\xE3o depende de um registro existente.",eErro:!0,eCerto:!1,detalhes:r},s),e=o=>{let n={cod:500,valor:void 0,mensagem:`${o.mensagem||"Erro interno"}`,eErro:!0,eCerto:!1};return t(n,s)},p=(o,r)=>t({cod:504,valor:void 0,mensagem:o||"Tempo de resposta esgotado ao tentar acessar o recurso.",eErro:!0,eCerto:!1,detalhes:r},s);return{valor:a,valorTrue:d,erro:u,erroPermissao:c,erroInterno:e,naoEncontrado:g,tempoEsgotado:p,erroEspera:p}},l=i,R=i();export{i as IniciarRespostas,m as codigosResposta,l as gerarRespostas,R as respostaComuns};