UNPKG

@anpdgovbr/shared-types

Version:

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

34 lines (33 loc) 1.28 kB
/** * Enumeração de níveis de senioridade de cargo. */ export var NivelSenioridade; (function (NivelSenioridade) { NivelSenioridade["DIRETOR"] = "diretor"; NivelSenioridade["COORDENADOR_GERAL"] = "coordenador_geral"; NivelSenioridade["COORDENADOR"] = "coordenador"; NivelSenioridade["CHEFE"] = "chefe"; NivelSenioridade["GERENTE"] = "gerente"; NivelSenioridade["ASSESSOR"] = "assessor"; NivelSenioridade["ESTAGIARIO"] = "estagiario"; })(NivelSenioridade || (NivelSenioridade = {})); export const NIVEL_SENIORIDADE_VALUES = [ NivelSenioridade.DIRETOR, NivelSenioridade.COORDENADOR_GERAL, NivelSenioridade.COORDENADOR, NivelSenioridade.CHEFE, NivelSenioridade.GERENTE, NivelSenioridade.ASSESSOR, NivelSenioridade.ESTAGIARIO, ]; const NIVEL_SENIORIDADE_SET = new Set(NIVEL_SENIORIDADE_VALUES); export function isNivelSenioridade(value) { return typeof value === "string" && NIVEL_SENIORIDADE_SET.has(value); } export function assertNivelSenioridade(value) { if (!isNivelSenioridade(value)) throw new Error(`NivelSenioridade inválido: ${String(value)}`); } export function coerceNivelSenioridade(value, fallback = NivelSenioridade.ASSESSOR) { return isNivelSenioridade(value) ? value : fallback; }