@anpdgovbr/shared-types
Version:
Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)
36 lines (35 loc) • 1.37 kB
JavaScript
/**
* Enumeração de famílias funcionais de cargos.
*/
export var FamiliaFuncional;
(function (FamiliaFuncional) {
FamiliaFuncional["GESTAO"] = "gestao";
FamiliaFuncional["ADMINISTRATIVO"] = "administrativo";
FamiliaFuncional["JURIDICO"] = "juridico";
FamiliaFuncional["CONTROLE_INTERNO"] = "controle_interno";
FamiliaFuncional["OUVIDORIA"] = "ouvidoria";
FamiliaFuncional["ATENDIMENTO"] = "atendimento";
FamiliaFuncional["ESTAGIO"] = "estagio";
FamiliaFuncional["VINCULO"] = "vinculo";
})(FamiliaFuncional || (FamiliaFuncional = {}));
export const FAMILIA_FUNCIONAL_VALUES = [
FamiliaFuncional.GESTAO,
FamiliaFuncional.ADMINISTRATIVO,
FamiliaFuncional.JURIDICO,
FamiliaFuncional.CONTROLE_INTERNO,
FamiliaFuncional.OUVIDORIA,
FamiliaFuncional.ATENDIMENTO,
FamiliaFuncional.ESTAGIO,
FamiliaFuncional.VINCULO,
];
const FAMILIA_FUNCIONAL_SET = new Set(FAMILIA_FUNCIONAL_VALUES);
export function isFamiliaFuncional(value) {
return typeof value === "string" && FAMILIA_FUNCIONAL_SET.has(value);
}
export function assertFamiliaFuncional(value) {
if (!isFamiliaFuncional(value))
throw new Error(`FamiliaFuncional inválida: ${String(value)}`);
}
export function coerceFamiliaFuncional(value, fallback = FamiliaFuncional.GESTAO) {
return isFamiliaFuncional(value) ? value : fallback;
}