"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "withParams", { enumerable: true, get: function get() { return _withParams.default; } }); exports.regex = exports.ref = exports.len = exports.req = void 0; var _withParams = _interopRequireDefault(require("../withParams")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } var req = function req(value) { if (Array.isArray(value)) return !!value.length; if (value === undefined || value === null) { return false; } if (value === false) { return true; } if (value instanceof Date) { return !isNaN(value.getTime()); } if (_typeof(value) === 'object') { for (var _ in value) { return true; } return false; } return !!String(value).length; }; exports.req = req; var len = function len(value) { if (Array.isArray(value)) return value.length; if (_typeof(value) === 'object') { return Object.keys(value).length; } return String(value).length; }; exports.len = len; var ref = function ref(reference, vm, parentVm) { return typeof reference === 'function' ? reference.call(vm, parentVm) : parentVm[reference]; }; exports.ref = ref; var regex = function regex(type, expr) { return (0, _withParams.default)({ type: type }, function (value) { return !req(value) || expr.test(value); }); }; exports.regex = regex;