UNPKG

@edgeguideab/expect

Version:

Check for user input in a consistent way and generate error messages for missings

38 lines (37 loc) 1.66 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.isEqualTo = void 0; var getDeep_1 = require("./getDeep"); var isDateValue_1 = __importDefault(require("./isDateValue")); var index_1 = require("./index"); function isEqualTo(_a) { var type = _a.type, value = _a.value, parameter = _a.parameter, equalTo = _a.equalTo, input = _a.input, schema = _a.schema, _b = _a.visitedParams, visitedParams = _b === void 0 ? [] : _b, validate = _a.validate; var initialValue = (0, getDeep_1.getDeep)(equalTo, input); var options = (0, getDeep_1.getDeepOptions)(equalTo, schema); var validated = !options || visitedParams.includes((0, index_1.formatParameter)(parameter)) ? { parsed: initialValue } : validate({ type: options.type || options, parameter: equalTo, value: initialValue, options: options, input: input, schema: schema, visitedParams: visitedParams.concat((0, index_1.formatParameter)(parameter)), }); if ("parsed" in validated) { if (type !== "date" || !(0, isDateValue_1.default)(value) || !(0, isDateValue_1.default)(validated.parsed) || value === "" || validated.parsed === "") { return Object.is(value, validated.parsed); } return Object.is(new Date(value).getTime(), new Date(validated.parsed).getTime()); } return value === undefined; } exports.isEqualTo = isEqualTo;