UNPKG

@anpdgovbr/shared-types

Version:

Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)

34 lines (33 loc) 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.STATUS_INTEGRACAO_VALUES = exports.StatusIntegracao = void 0; exports.isStatusIntegracao = isStatusIntegracao; exports.assertStatusIntegracao = assertStatusIntegracao; exports.coerceStatusIntegracao = coerceStatusIntegracao; /** * Enumeração de status de eventos/processos de integração. */ var StatusIntegracao; (function (StatusIntegracao) { StatusIntegracao["PENDING"] = "pending"; StatusIntegracao["OK"] = "ok"; StatusIntegracao["ERROR"] = "error"; StatusIntegracao["RETRY"] = "retry"; })(StatusIntegracao || (exports.StatusIntegracao = StatusIntegracao = {})); exports.STATUS_INTEGRACAO_VALUES = [ StatusIntegracao.PENDING, StatusIntegracao.OK, StatusIntegracao.ERROR, StatusIntegracao.RETRY, ]; const STATUS_INTEGRACAO_SET = new Set(exports.STATUS_INTEGRACAO_VALUES); function isStatusIntegracao(value) { return typeof value === "string" && STATUS_INTEGRACAO_SET.has(value); } function assertStatusIntegracao(value) { if (!isStatusIntegracao(value)) throw new Error(`StatusIntegracao inválido: ${String(value)}`); } function coerceStatusIntegracao(value, fallback = StatusIntegracao.PENDING) { return isStatusIntegracao(value) ? value : fallback; }