UNPKG

@tunnel-cast/tunnel-cast

Version:

<br>

20 lines 1.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IsEnum = exports.isEnumMessageBuilder = exports.isEnum = exports.IS_ENUM = void 0; const decorator_adapter_1 = require("../../../core/factory/decorator-adapter"); const field_constraint_procedure_1 = require("../../../core/field-decorator-procedure/field-constraint.procedure"); exports.IS_ENUM = "is-enum"; exports.isEnum = ({ fieldValue, args, context }) => { return Array.isArray(args.enumOrList) ? args.enumOrList.includes(fieldValue) : Object.values(args.enumOrList).includes(fieldValue); }; exports.isEnumMessageBuilder = ({ fieldName, options }) => options.iterate ? `Some values in the field ${fieldName} are not a valid enum.` : `The field ${fieldName} is not a valid enum.`; function IsEnum(enumOrList, options) { const adaptee = new field_constraint_procedure_1.FieldConstraintProcedure(exports.IS_ENUM, options || {}, { enumOrList }, exports.isEnum, exports.isEnumMessageBuilder); return decorator_adapter_1.decoratorAdapter(adaptee); } exports.IsEnum = IsEnum; //# sourceMappingURL=enum.decorator.js.map