silvie
Version:
Typescript Back-end Framework
30 lines (28 loc) • 808 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _rule = require("../rule");
var _dec, _class;
let EqualsRule = exports.default = (_dec = (0, _rule.rule)('equals'), _dec(_class = class EqualsRule {
validate(validator, name, value, key) {
if (typeof value === 'object') {
return JSON.stringify(value) === JSON.stringify(key);
}
if (typeof value === 'boolean') {
return value === !!key;
}
if (typeof value === 'number') {
if (value === Math.floor(value)) {
return value === parseInt(key, 10);
}
return value === parseFloat(key);
}
if (typeof value === 'string') {
return value === key;
}
// eslint-disable-next-line eqeqeq
return value == key;
}
}) || _class);