@anpdgovbr/shared-types
Version:
Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)
42 lines (41 loc) • 1.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FAMILIA_FUNCIONAL_VALUES = exports.FamiliaFuncional = void 0;
exports.isFamiliaFuncional = isFamiliaFuncional;
exports.assertFamiliaFuncional = assertFamiliaFuncional;
exports.coerceFamiliaFuncional = coerceFamiliaFuncional;
/**
* Enumeração de famílias funcionais de cargos.
*/
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 || (exports.FamiliaFuncional = FamiliaFuncional = {}));
exports.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(exports.FAMILIA_FUNCIONAL_VALUES);
function isFamiliaFuncional(value) {
return typeof value === "string" && FAMILIA_FUNCIONAL_SET.has(value);
}
function assertFamiliaFuncional(value) {
if (!isFamiliaFuncional(value))
throw new Error(`FamiliaFuncional inválida: ${String(value)}`);
}
function coerceFamiliaFuncional(value, fallback = FamiliaFuncional.GESTAO) {
return isFamiliaFuncional(value) ? value : fallback;
}