UNPKG

@meve/ui

Version:

Argon design system components library

83 lines (74 loc) 2.53 kB
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator"; import _regeneratorRuntime from "@babel/runtime/regenerator"; import { isArray } from '../shared'; export var ValidationMixin = { data: function data() { return { errorMessage: '' }; }, methods: { validateRules: function validateRules(rules, value, apis) { var _this = this; return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() { var resArr, valid; return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: if (!(!isArray(rules) || !rules.length)) { _context.next = 2; break; } return _context.abrupt("return", true); case 2: _context.next = 4; return Promise.all(rules.map(function (rule) { return rule(value, apis); })); case 4: resArr = _context.sent; valid = !resArr.some(function (res) { if (res !== true) { _this.errorMessage = String(res); return true; } return false; }); valid && (_this.errorMessage = ''); return _context.abrupt("return", valid); case 8: case "end": return _context.stop(); } } }, _callee); }))(); }, validateWithTrigger: function validateWithTrigger(validateTrigger, trigger, rules, value, apis) { var _this2 = this; return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() { return _regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: if (!validateTrigger.includes(trigger)) { _context2.next = 3; break; } _context2.next = 3; return _this2.validateRules(rules, value, apis); case 3: case "end": return _context2.stop(); } } }, _callee2); }))(); }, // expose resetValidation: function resetValidation() { this.errorMessage = ''; } } };