UNPKG

@tunnel-cast/tunnel-cast

Version:

<br>

32 lines 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IsEquals = exports.isEqualsMessageBuilder = exports.isEquals = exports.IS_EQUALS = void 0; const assert_1 = require("assert"); const decorator_adapter_1 = require("../../../core/factory/decorator-adapter"); const field_constraint_procedure_1 = require("../../../core/field-decorator-procedure/field-constraint.procedure"); exports.IS_EQUALS = "is-equals"; exports.isEquals = ({ fieldValue, args }) => { if (args.strict == false) { return args.value == fieldValue; } else { try { assert_1.deepStrictEqual(fieldValue, args.value); return true; } catch (error) { return false; } } }; exports.isEqualsMessageBuilder = ({ fieldName, options }) => options.iterate ? `Some values in the field ${fieldName} are not a pass assertion.` : `The field ${fieldName} is not pass assertion.`; function IsEquals(value, strictOrOptions, options) { const strict = typeof strictOrOptions == "boolean" ? strictOrOptions : true; const actualOptions = typeof strictOrOptions == "boolean" ? options : strictOrOptions; const adaptee = new field_constraint_procedure_1.FieldConstraintProcedure(exports.IS_EQUALS, actualOptions || {}, { value, strict }, exports.isEquals, exports.isEqualsMessageBuilder); return decorator_adapter_1.decoratorAdapter(adaptee); } exports.IsEquals = IsEquals; //# sourceMappingURL=is-equals.decorator.js.map