@jumentix/shared-contracts
v0.1.0
Published
Shared OpenAPI/AsyncAPI contract resolution helpers for the Jumentix SDKs.
Readme
@jumentix/shared-contracts
Auxiliares compartilhados de resolução de contratos OpenAPI/AsyncAPI para os pacotes SDK do JumentiX.
Propósito
Os três pacotes SDK (sdk-rest-client, sdk-websocket-client, sdk-grpc-client) carregam cada um
um documento de API canônico da árvore spec/ do repositório. O walk-up que encontra esse documento
estava copiado em cada pacote, e as cópias divergiam exatamente da forma como código duplicado
diverge. Este pacote possui a implementação única:
loadCanonicalSpec— faz o parse de um spec canônico a partir de um caminho base explícito ou subindo a partir de um diretório de módulo, falhando com erro descritivo quando nenhum existe.candidateSpecPaths— o walk-up que monta as localizações candidatas sobspec/.
Os pacotes SDK consomem esses auxiliares e permanecem como wrappers tipados finos sobre o próprio
artefato (1.0.0.yml, 1.0.0.websocket.yml, 1.0.0.grpc.yml).
Os contratos canônicos versionados permanecem na raiz do repositório:
spec/1.0.0.ymlpara OpenAPI.spec/asyncapi/1.0.0.websocket.ymlpara WebSocket.spec/asyncapi/1.0.0.grpc.ymlpara gRPC.
Este pacote possui um módulo de origem real e sua própria suíte de testes (Requisito 112) e é medido para cobertura.