@anpdgovbr/shared-types
Version:
Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)
34 lines (33 loc) • 1.28 kB
JavaScript
/**
* 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;
}