UNPKG

@anpdgovbr/shared-types

Version:

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

56 lines (55 loc) 1.56 kB
"use strict"; /** * @file esfera.enum.ts * @module enums * * @description * Define o enum que representa a esfera 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.ESFERA_VALUES = exports.Esfera = void 0; exports.isEsfera = isEsfera; exports.assertEsfera = assertEsfera; exports.coerceEsfera = coerceEsfera; /** * Enumeração que representa a esfera governamental de um controlador público. * * @public */ var Esfera; (function (Esfera) { /** * Esfera Municipal (prefeituras, secretarias municipais, etc.). */ Esfera["MUNICIPAL"] = "MUNICIPAL"; /** * Esfera Estadual (governos estaduais, secretarias estaduais, etc.). */ Esfera["ESTADUAL"] = "ESTADUAL"; /** * Esfera Federal (ministérios, autarquias, etc.). */ Esfera["FEDERAL"] = "FEDERAL"; })(Esfera || (exports.Esfera = Esfera = {})); exports.ESFERA_VALUES = [ Esfera.MUNICIPAL, Esfera.ESTADUAL, Esfera.FEDERAL, ]; const ESFERA_SET = new Set(exports.ESFERA_VALUES); function isEsfera(value) { return typeof value === "string" && ESFERA_SET.has(value); } function assertEsfera(value) { if (!isEsfera(value)) throw new Error(`Esfera inválida: ${String(value)}`); } function coerceEsfera(value, fallback = Esfera.FEDERAL) { return isEsfera(value) ? value : fallback; }