From 91952a6fa5d8402f57974ddefa729c725fbfdf4f Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Fri, 19 Jun 2026 17:11:15 -0300 Subject: [PATCH] . --- ...ter-resposta-e-licencie-para-p-resposta.js | 123 ++++++++++ dist-back/index.js | 2 + dist-front/index.d.mts | 67 +++++- dist-front/index.mjs | 2 +- package.json | 2 +- pacote.tgz | Bin 92902 -> 96583 bytes ...ter-resposta-e-licencie-para-p-resposta.ts | 225 ++++++++++++++++++ src/index.ts | 2 + 8 files changed, 420 insertions(+), 3 deletions(-) create mode 100644 dist-back/converter-resposta-e-licencie-para-p-resposta.js create mode 100644 src/converter-resposta-e-licencie-para-p-resposta.ts diff --git a/dist-back/converter-resposta-e-licencie-para-p-resposta.js b/dist-back/converter-resposta-e-licencie-para-p-resposta.js new file mode 100644 index 0000000..f6f462d --- /dev/null +++ b/dist-back/converter-resposta-e-licencie-para-p-resposta.js @@ -0,0 +1,123 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var converter_resposta_e_licencie_para_p_resposta_exports = {}; +__export(converter_resposta_e_licencie_para_p_resposta_exports, { + codigosErros: () => codigosErros, + converterRespostaELicencieParaPResposta: () => converterRespostaELicencieParaPResposta +}); +module.exports = __toCommonJS(converter_resposta_e_licencie_para_p_resposta_exports); +var import_respostas = require("./respostas"); +const codigosErros = { + 400: "Erro de requisi\xE7\xE3o", + 403: "N\xE3o autenticado", + 500: "Erro interno", + 504: "Tempo de resposta excedido" +}; +const mapaCodigoELicencieParaPResposta = { + 400: import_respostas.codigosResposta.erroConhecido, + 403: import_respostas.codigosResposta.erroPermissao, + 500: import_respostas.codigosResposta.erroDesconhecido, + 504: import_respostas.codigosResposta.tempoEsgotado +}; +const mapaCodigoPRespostaParaELicencie = { + [import_respostas.codigosResposta.erroConhecido]: 400, + [import_respostas.codigosResposta.erroPermissao]: 403, + [import_respostas.codigosResposta.erroDesconhecido]: 500, + [import_respostas.codigosResposta.erroNaoEncontrado]: 400, + [import_respostas.codigosResposta.tempoEsgotado]: 504 +}; +function eRespostaPadrao(entrada) { + return "cod" in entrada; +} +function detalhesParaArray(detalhes) { + if (!detalhes) return void 0; + if (Array.isArray(detalhes)) return detalhes; + const entries = Object.entries(detalhes); + if (entries.length === 0) return void 0; + return entries.map(([chave, valor]) => { + const valorStr = typeof valor === "string" ? valor : JSON.stringify(valor); + return `${chave}: ${valorStr}`; + }); +} +function montarRespostaDual(op) { + const detalhesArray = detalhesParaArray(op.detalhesOriginal); + const detalhesRecord = op.detalhesOriginal && !Array.isArray(op.detalhesOriginal) ? op.detalhesOriginal : void 0; + return { + // P-Resposta + cod: op.cod, + valor: op.valor, + mensagem: op.mensagem, + eErro: op.eErro, + eCerto: !op.eErro, + detalhes: detalhesArray, + // ELicencie (runtime) + codigo: op.codigoELicencie, + erro: op.erroELicencie, + ...detalhesRecord ? { detalhes: detalhesRecord } : {} + }; +} +const converterRespostaELicencieParaPResposta = (entrada) => { + if (eRespostaPadrao(entrada)) { + if (!entrada.eErro) { + return montarRespostaDual({ + cod: import_respostas.codigosResposta.sucesso, + valor: entrada.valor, + mensagem: void 0, + eErro: false, + codigoELicencie: 200, + erroELicencie: void 0, + detalhesOriginal: entrada.detalhes + }); + } + return montarRespostaDual({ + cod: entrada.cod, + valor: void 0, + mensagem: entrada.mensagem, + eErro: true, + codigoELicencie: mapaCodigoPRespostaParaELicencie[entrada.cod], + erroELicencie: entrada.mensagem, + detalhesOriginal: entrada.detalhes + }); + } + if (!entrada.eErro) { + return montarRespostaDual({ + cod: import_respostas.codigosResposta.sucesso, + valor: entrada.valor, + mensagem: void 0, + eErro: false, + codigoELicencie: entrada.codigo, + erroELicencie: void 0, + detalhesOriginal: entrada.detalhes + }); + } + return montarRespostaDual({ + cod: mapaCodigoELicencieParaPResposta[entrada.codigo], + valor: void 0, + mensagem: entrada.erro, + eErro: true, + codigoELicencie: entrada.codigo, + erroELicencie: entrada.erro, + detalhesOriginal: entrada.detalhes + }); +}; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + codigosErros, + converterRespostaELicencieParaPResposta +}); diff --git a/dist-back/index.js b/dist-back/index.js index 9a3bc08..5042b75 100644 --- a/dist-back/index.js +++ b/dist-back/index.js @@ -15,8 +15,10 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var index_exports = {}; module.exports = __toCommonJS(index_exports); +__reExport(index_exports, require("./converter-resposta-e-licencie-para-p-resposta"), module.exports); __reExport(index_exports, require("./respostas"), module.exports); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { + ...require("./converter-resposta-e-licencie-para-p-resposta"), ...require("./respostas") }); diff --git a/dist-front/index.d.mts b/dist-front/index.d.mts index decb983..b21d47f 100644 --- a/dist-front/index.d.mts +++ b/dist-front/index.d.mts @@ -68,4 +68,69 @@ declare const gerarRespostas: (callback?: tipoCallbackResposta) => InterfaceResp */ declare const respostaComuns: InterfaceRespostas; -export { IniciarRespostas, type InterfaceRespostas, codigosResposta, gerarRespostas, respostaComuns, type tipoCallbackResposta, type tipoPrErroInterno, type tipoResposta, type tipoRespostaErro, type tipoRespostaSucesso }; +/** + * Mapa de códigos HTTP de erro usados pelo sistema ELicencie. + * + * Single source of truth para derivar `codigoErroELicencie`. + */ +declare const codigosErros: { + readonly 400: "Erro de requisição"; + readonly 403: "Não autenticado"; + readonly 500: "Erro interno"; + readonly 504: "Tempo de resposta excedido"; +}; +/** Códigos HTTP de erro reconhecidos pelo ELicencie. */ +type codigoErroELicencie = keyof typeof codigosErros; +interface tipoRespostaSucessoELicencie { + codigo: 200; + eErro: false; + valor: T; + erro: undefined; + detalhes?: Record; +} +interface tipoRespostaErroELicencie { + codigo: codigoErroELicencie; + eErro: true; + erro: string; + valor: undefined; + detalhes?: Record; +} +type tipoRespostaELicencie = tipoRespostaSucessoELicencie | tipoRespostaErroELicencie; +/** + * Durante a transição de sistema, a entrada pode chegar em qualquer um + * dos dois formatos. O conversor detecta e normaliza para P-Resposta. + */ +type tipoEntradaTransicao = tipoRespostaELicencie | tipoResposta; +/** + * Converte uma resposta para o formato **P-Resposta** (padrão do pacote), + * mantendo em runtime os campos de **ambos** os formatos para + * compatibilidade durante a transição de sistema. + * + * **Tipo de retorno:** `tipoResposta` + * + * **Conteúdo em runtime:** campos P-Resposta + campos ELicencie + * + * | P-Resposta | ELicencie | Relação | + * |-------------|-------------|----------------------| + * | `cod` | `codigo` | mapeamento de código | + * | `mensagem` | `erro` | mesmo conteúdo | + * | `valor` | `valor` | direto | + * | `eErro` | `eErro` | direto | + * | `eCerto` | — | derivado | + * | `detalhes` | `detalhes` | string[] / Record | + * + * @example + * ```ts + * const res = converterRespostaELicencieParaPResposta(respostaQualquer) + * + * // Consumidor P-Resposta + * if (res.eCerto) console.log(res.valor) + * + * // Consumidor ELicencie (lê campo extra em runtime) + * const resAny = res as any + * if (!resAny.eErro) console.log(resAny.valor) + * ``` + */ +declare const converterRespostaELicencieParaPResposta: (entrada: tipoEntradaTransicao) => tipoResposta; + +export { IniciarRespostas, type InterfaceRespostas, type codigoErroELicencie, codigosErros, codigosResposta, converterRespostaELicencieParaPResposta, gerarRespostas, respostaComuns, type tipoCallbackResposta, type tipoEntradaTransicao, type tipoPrErroInterno, type tipoResposta, type tipoRespostaELicencie, type tipoRespostaErro, type tipoRespostaErroELicencie, type tipoRespostaSucesso, type tipoRespostaSucessoELicencie }; diff --git a/dist-front/index.mjs b/dist-front/index.mjs index d21de4d..985850d 100644 --- a/dist-front/index.mjs +++ b/dist-front/index.mjs @@ -1 +1 @@ -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}; +var l=(o=>(o[o.sucesso=200]="sucesso",o[o.erroConhecido=400]="erroConhecido",o[o.erroPermissao=401]="erroPermissao",o[o.erroNaoEncontrado=404]="erroNaoEncontrado",o[o.erroDesconhecido=500]="erroDesconhecido",o[o.tempoEsgotado=504]="tempoEsgotado",o))(l||{});function n(e,t){return t?t(e):e}var u=e=>{let t=(r,s)=>n({cod:200,valor:r,mensagem:void 0,eErro:!1,eCerto:!0,detalhes:s},e),i=r=>n({cod:200,valor:!0,mensagem:void 0,eErro:!1,eCerto:!0,detalhes:r},e),c=(r,s)=>n({cod:400,valor:void 0,mensagem:r,eErro:!0,eCerto:!1,detalhes:s},e),d=(r,s)=>n({cod:401,valor:void 0,mensagem:r||"Sem permiss\xE3o para esse recurso.",eErro:!0,eCerto:!1,detalhes:s},e),E=(r,s)=>n({cod:404,valor:void 0,mensagem:r||"Registro n\xE3o encontrado ou a execu\xE7\xE3o dessa a\xE7\xE3o depende de um registro existente.",eErro:!0,eCerto:!1,detalhes:s},e),o=r=>{let a={cod:500,valor:void 0,mensagem:`${r.mensagem||"Erro interno"}`,eErro:!0,eCerto:!1};return n(a,e)},g=(r,s)=>n({cod:504,valor:void 0,mensagem:r||"Tempo de resposta esgotado ao tentar acessar o recurso.",eErro:!0,eCerto:!1,detalhes:s},e);return{valor:t,valorTrue:i,erro:c,erroPermissao:d,erroInterno:o,naoEncontrado:E,tempoEsgotado:g,erroEspera:g}},L=u,y=u();var x={400:"Erro de requisi\xE7\xE3o",403:"N\xE3o autenticado",500:"Erro interno",504:"Tempo de resposta excedido"},m={400:400,403:401,500:500,504:504},R={400:400,401:403,500:500,404:400,504:504};function f(e){return"cod"in e}function T(e){if(!e)return;if(Array.isArray(e))return e;let t=Object.entries(e);if(t.length!==0)return t.map(([i,c])=>{let d=typeof c=="string"?c:JSON.stringify(c);return`${i}: ${d}`})}function p(e){let t=T(e.detalhesOriginal),i=e.detalhesOriginal&&!Array.isArray(e.detalhesOriginal)?e.detalhesOriginal:void 0;return{cod:e.cod,valor:e.valor,mensagem:e.mensagem,eErro:e.eErro,eCerto:!e.eErro,detalhes:t,codigo:e.codigoELicencie,erro:e.erroELicencie,...i?{detalhes:i}:{}}}var C=e=>f(e)?e.eErro?p({cod:e.cod,valor:void 0,mensagem:e.mensagem,eErro:!0,codigoELicencie:R[e.cod],erroELicencie:e.mensagem,detalhesOriginal:e.detalhes}):p({cod:200,valor:e.valor,mensagem:void 0,eErro:!1,codigoELicencie:200,erroELicencie:void 0,detalhesOriginal:e.detalhes}):e.eErro?p({cod:m[e.codigo],valor:void 0,mensagem:e.erro,eErro:!0,codigoELicencie:e.codigo,erroELicencie:e.erro,detalhesOriginal:e.detalhes}):p({cod:200,valor:e.valor,mensagem:void 0,eErro:!1,codigoELicencie:e.codigo,erroELicencie:void 0,detalhesOriginal:e.detalhes});export{u as IniciarRespostas,x as codigosErros,l as codigosResposta,C as converterRespostaELicencieParaPResposta,L as gerarRespostas,y as respostaComuns}; diff --git a/package.json b/package.json index 7912523..adf2c5f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-respostas", - "version": "0.67.0", + "version": "0.68.0", "description": "Contrato simples de respostas (sucesso/erro) para APIs e serviços.", "main": "./dist-back/index.js", "module": "./dist-front/index.mjs", diff --git a/pacote.tgz b/pacote.tgz index e8790ecbc9be6a99094c81e949297c66fbf5ca44..3251de64e0bfe732abbc8c1a71718eaaec395895 100644 GIT binary patch delta 41978 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 { + codigo: 200 + eErro: false + valor: T + erro: undefined + detalhes?: Record +} + +export interface tipoRespostaErroELicencie { + codigo: codigoErroELicencie + eErro: true + erro: string + valor: undefined + detalhes?: Record +} + +export type tipoRespostaELicencie = + | tipoRespostaSucessoELicencie + | tipoRespostaErroELicencie + +// ─── Tipo de entrada (transição) ──────────────────────────────────── + +/** + * Durante a transição de sistema, a entrada pode chegar em qualquer um + * dos dois formatos. O conversor detecta e normaliza para P-Resposta. + */ +export type tipoEntradaTransicao = tipoRespostaELicencie | tipoResposta + +// ─── Mapeamento bidirecional de códigos ───────────────────────────── + +/** ELicencie → P-Resposta (403 → 401) */ +const mapaCodigoELicencieParaPResposta: Record< + codigoErroELicencie, + tipoRespostaErro["cod"] +> = { + 400: codigosResposta.erroConhecido, + 403: codigosResposta.erroPermissao, + 500: codigosResposta.erroDesconhecido, + 504: codigosResposta.tempoEsgotado, +} + +/** P-Resposta → ELicencie (401 → 403, 404 → 400) */ +const mapaCodigoPRespostaParaELicencie: Record< + tipoRespostaErro["cod"], + codigoErroELicencie +> = { + [codigosResposta.erroConhecido]: 400, + [codigosResposta.erroPermissao]: 403, + [codigosResposta.erroDesconhecido]: 500, + [codigosResposta.erroNaoEncontrado]: 400, + [codigosResposta.tempoEsgotado]: 504, +} + +// ─── Type guard ───────────────────────────────────────────────────── + +/** Detecta se a entrada já está no formato P-Resposta (possui campo `cod`). */ +function eRespostaPadrao( + entrada: tipoEntradaTransicao, +): entrada is tipoResposta { + return "cod" in entrada +} + +// ─── Conversores de detalhes ──────────────────────────────────────── + +/** `Record` → `string[]` (passthrough se já for array). */ +function detalhesParaArray( + detalhes?: Record | string[], +): string[] | undefined { + if (!detalhes) return undefined + if (Array.isArray(detalhes)) return detalhes + + const entries = Object.entries(detalhes) + if (entries.length === 0) return undefined + + return entries.map(([chave, valor]) => { + const valorStr = typeof valor === "string" ? valor : JSON.stringify(valor) + return `${chave}: ${valorStr}` + }) +} + +// ─── Builder de resposta dual ─────────────────────────────────────── + +/** + * Monta um objeto compatível com **ambos** os formatos em runtime. + * + * Tipado como `tipoResposta`, mas em runtime também contém + * `codigo`, `erro` e `detalhes` (Record) do formato ELicencie. + */ +function montarRespostaDual(op: { + cod: tipoResposta["cod"] + valor: T | undefined + mensagem: string | undefined + eErro: boolean + codigoELicencie: 200 | codigoErroELicencie + erroELicencie: string | undefined + detalhesOriginal?: Record | string[] +}): tipoResposta { + const detalhesArray = detalhesParaArray(op.detalhesOriginal) + const detalhesRecord = + op.detalhesOriginal && !Array.isArray(op.detalhesOriginal) + ? op.detalhesOriginal + : undefined + + return { + // P-Resposta + cod: op.cod, + valor: op.valor, + mensagem: op.mensagem, + eErro: op.eErro, + eCerto: !op.eErro, + detalhes: detalhesArray, + + // ELicencie (runtime) + codigo: op.codigoELicencie, + erro: op.erroELicencie, + ...(detalhesRecord ? { detalhes: detalhesRecord } : {}), + } as tipoResposta +} + +// ─── Conversor principal ──────────────────────────────────────────── + +/** + * Converte uma resposta para o formato **P-Resposta** (padrão do pacote), + * mantendo em runtime os campos de **ambos** os formatos para + * compatibilidade durante a transição de sistema. + * + * **Tipo de retorno:** `tipoResposta` + * + * **Conteúdo em runtime:** campos P-Resposta + campos ELicencie + * + * | P-Resposta | ELicencie | Relação | + * |-------------|-------------|----------------------| + * | `cod` | `codigo` | mapeamento de código | + * | `mensagem` | `erro` | mesmo conteúdo | + * | `valor` | `valor` | direto | + * | `eErro` | `eErro` | direto | + * | `eCerto` | — | derivado | + * | `detalhes` | `detalhes` | string[] / Record | + * + * @example + * ```ts + * const res = converterRespostaELicencieParaPResposta(respostaQualquer) + * + * // Consumidor P-Resposta + * if (res.eCerto) console.log(res.valor) + * + * // Consumidor ELicencie (lê campo extra em runtime) + * const resAny = res as any + * if (!resAny.eErro) console.log(resAny.valor) + * ``` + */ +export const converterRespostaELicencieParaPResposta = ( + entrada: tipoEntradaTransicao, +): tipoResposta => { + // ── Entrada já é P-Resposta: enriquecer com campos ELicencie ── + if (eRespostaPadrao(entrada)) { + if (!entrada.eErro) { + return montarRespostaDual({ + cod: codigosResposta.sucesso, + valor: entrada.valor, + mensagem: undefined, + eErro: false, + codigoELicencie: 200, + erroELicencie: undefined, + detalhesOriginal: entrada.detalhes, + }) + } + + return montarRespostaDual({ + cod: entrada.cod, + valor: undefined, + mensagem: entrada.mensagem, + eErro: true, + codigoELicencie: mapaCodigoPRespostaParaELicencie[entrada.cod], + erroELicencie: entrada.mensagem, + detalhesOriginal: entrada.detalhes, + }) + } + + // ── Entrada é ELicencie: construir P-Resposta + preservar campos ── + if (!entrada.eErro) { + return montarRespostaDual({ + cod: codigosResposta.sucesso, + valor: entrada.valor, + mensagem: undefined, + eErro: false, + codigoELicencie: entrada.codigo, + erroELicencie: undefined, + detalhesOriginal: entrada.detalhes, + }) + } + + return montarRespostaDual({ + cod: mapaCodigoELicencieParaPResposta[entrada.codigo], + valor: undefined, + mensagem: entrada.erro, + eErro: true, + codigoELicencie: entrada.codigo, + erroELicencie: entrada.erro, + detalhesOriginal: entrada.detalhes, + }) +} diff --git a/src/index.ts b/src/index.ts index 9f14c03..06a9396 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,2 +1,4 @@ // Re-export da API pública do pacote. + +export * from "./converter-resposta-e-licencie-para-p-resposta" export * from "./respostas"