@tunnel-cast/tunnel-cast
Version:
<br>
32 lines • 1.51 kB
JavaScript
;
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