UNPKG

@anpdgovbr/shared-types

Version:

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

56 lines (55 loc) 1.53 kB
"use strict"; /** * @file poder.enum.ts * @module enums * * @description * Define o enum que representa o poder governamental de um controlador público. * * @remarks * Corresponde ao schema da API Quarkus de Controladores e é utilizado em `ControladorDto` * quando o controlador pertence ao setor público. * * @since 0.2.0 */ Object.defineProperty(exports, "__esModule", { value: true }); exports.PODER_VALUES = exports.Poder = void 0; exports.isPoder = isPoder; exports.assertPoder = assertPoder; exports.coercePoder = coercePoder; /** * Enumeração que representa os poderes da federação brasileira. * * @public */ var Poder; (function (Poder) { /** * Poder Executivo (presidência, ministérios, secretarias, etc.). */ Poder["EXECUTIVO"] = "EXECUTIVO"; /** * Poder Legislativo (câmaras, assembleias, senado, etc.). */ Poder["LEGISLATIVO"] = "LEGISLATIVO"; /** * Poder Judiciário (tribunais, juizados, etc.). */ Poder["JUDICIARIO"] = "JUDICIARIO"; })(Poder || (exports.Poder = Poder = {})); exports.PODER_VALUES = [ Poder.EXECUTIVO, Poder.LEGISLATIVO, Poder.JUDICIARIO, ]; const PODER_SET = new Set(exports.PODER_VALUES); function isPoder(value) { return typeof value === "string" && PODER_SET.has(value); } function assertPoder(value) { if (!isPoder(value)) throw new Error(`Poder inválido: ${String(value)}`); } function coercePoder(value, fallback = Poder.EXECUTIVO) { return isPoder(value) ? value : fallback; }