UNPKG

@anpdgovbr/shared-types

Version:

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

50 lines (49 loc) 1.34 kB
/** * @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 */ /** * Enumeração que representa a esfera governamental de um controlador público. * * @public */ export 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 || (Esfera = {})); export const ESFERA_VALUES = [ Esfera.MUNICIPAL, Esfera.ESTADUAL, Esfera.FEDERAL, ]; const ESFERA_SET = new Set(ESFERA_VALUES); export function isEsfera(value) { return typeof value === "string" && ESFERA_SET.has(value); } export function assertEsfera(value) { if (!isEsfera(value)) throw new Error(`Esfera inválida: ${String(value)}`); } export function coerceEsfera(value, fallback = Esfera.FEDERAL) { return isEsfera(value) ? value : fallback; }