UNPKG

speckoloo

Version:
679 lines (656 loc) 16.4 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var cov_xsapdyc9z = function () { var path = '/home/henrique/labs/speckoloo/src/default-validators.js', hash = '6985b5939e4311e3a42c71ce0e940e4c0c57814d', global = new Function('return this')(), gcv = '__coverage__', coverageData = { path: '/home/henrique/labs/speckoloo/src/default-validators.js', statementMap: { '0': { start: { line: 2, column: 2 }, end: { line: 2, column: 13 } }, '1': { start: { line: 6, column: 2 }, end: { line: 6, column: 62 } }, '2': { start: { line: 20, column: 17 }, end: { line: 20, column: 22 } }, '3': { start: { line: 23, column: 2 }, end: { line: 28, column: 3 } }, '4': { start: { line: 24, column: 4 }, end: { line: 24, column: 37 } }, '5': { start: { line: 26, column: 4 }, end: { line: 26, column: 18 } }, '6': { start: { line: 27, column: 4 }, end: { line: 27, column: 47 } }, '7': { start: { line: 30, column: 2 }, end: { line: 49, column: 3 } }, '8': { start: { line: 31, column: 4 }, end: { line: 37, column: 5 } }, '9': { start: { line: 32, column: 6 }, end: { line: 34, column: 7 } }, '10': { start: { line: 33, column: 8 }, end: { line: 33, column: 46 } }, '11': { start: { line: 36, column: 6 }, end: { line: 36, column: 19 } }, '12': { start: { line: 39, column: 4 }, end: { line: 48, column: 5 } }, '13': { start: { line: 40, column: 6 }, end: { line: 40, column: 30 } }, '14': { start: { line: 41, column: 6 }, end: { line: 41, column: 29 } }, '15': { start: { line: 43, column: 6 }, end: { line: 45, column: 7 } }, '16': { start: { line: 44, column: 8 }, end: { line: 44, column: 35 } }, '17': { start: { line: 47, column: 6 }, end: { line: 47, column: 33 } } }, fnMap: { '0': { name: 'allowAny', decl: { start: { line: 1, column: 16 }, end: { line: 1, column: 24 } }, loc: { start: { line: 1, column: 46 }, end: { line: 3, column: 1 } }, line: 1 }, '1': { name: 'forbidAny', decl: { start: { line: 5, column: 16 }, end: { line: 5, column: 25 } }, loc: { start: { line: 5, column: 47 }, end: { line: 7, column: 1 } }, line: 5 }, '2': { name: 'delegate', decl: { start: { line: 19, column: 16 }, end: { line: 19, column: 24 } }, loc: { start: { line: 19, column: 38 }, end: { line: 50, column: 1 } }, line: 19 }, '3': { name: '(anonymous_3)', decl: { start: { line: 30, column: 9 }, end: { line: 30, column: 10 } }, loc: { start: { line: 30, column: 26 }, end: { line: 49, column: 3 } }, line: 30 } }, branchMap: { '0': { loc: { start: { line: 23, column: 2 }, end: { line: 28, column: 3 } }, type: 'if', locations: [{ start: { line: 23, column: 2 }, end: { line: 28, column: 3 } }, { start: { line: 23, column: 2 }, end: { line: 28, column: 3 } }], line: 23 }, '1': { loc: { start: { line: 23, column: 6 }, end: { line: 23, column: 38 } }, type: 'binary-expr', locations: [{ start: { line: 23, column: 6 }, end: { line: 23, column: 10 } }, { start: { line: 23, column: 14 }, end: { line: 23, column: 38 } }], line: 23 }, '2': { loc: { start: { line: 24, column: 15 }, end: { line: 24, column: 37 } }, type: 'binary-expr', locations: [{ start: { line: 24, column: 15 }, end: { line: 24, column: 28 } }, { start: { line: 24, column: 32 }, end: { line: 24, column: 37 } }], line: 24 }, '3': { loc: { start: { line: 27, column: 15 }, end: { line: 27, column: 47 } }, type: 'binary-expr', locations: [{ start: { line: 27, column: 16 }, end: { line: 27, column: 20 } }, { start: { line: 27, column: 24 }, end: { line: 27, column: 37 } }, { start: { line: 27, column: 42 }, end: { line: 27, column: 47 } }], line: 27 }, '4': { loc: { start: { line: 31, column: 4 }, end: { line: 37, column: 5 } }, type: 'if', locations: [{ start: { line: 31, column: 4 }, end: { line: 37, column: 5 } }, { start: { line: 31, column: 4 }, end: { line: 37, column: 5 } }], line: 31 }, '5': { loc: { start: { line: 32, column: 6 }, end: { line: 34, column: 7 } }, type: 'if', locations: [{ start: { line: 32, column: 6 }, end: { line: 34, column: 7 } }, { start: { line: 32, column: 6 }, end: { line: 34, column: 7 } }], line: 32 }, '6': { loc: { start: { line: 43, column: 6 }, end: { line: 45, column: 7 } }, type: 'if', locations: [{ start: { line: 43, column: 6 }, end: { line: 45, column: 7 } }, { start: { line: 43, column: 6 }, end: { line: 45, column: 7 } }], line: 43 } }, s: { '0': 0, '1': 0, '2': 0, '3': 0, '4': 0, '5': 0, '6': 0, '7': 0, '8': 0, '9': 0, '10': 0, '11': 0, '12': 0, '13': 0, '14': 0, '15': 0, '16': 0, '17': 0 }, f: { '0': 0, '1': 0, '2': 0, '3': 0 }, b: { '0': [0, 0], '1': [0, 0], '2': [0, 0], '3': [0, 0, 0], '4': [0, 0], '5': [0, 0], '6': [0, 0] }, _coverageSchema: '332fd63041d2c1bcb487cc26dd0d5f7d97098a6c' }, coverage = global[gcv] || (global[gcv] = {}); if (coverage[path] && coverage[path].hash === hash) { return coverage[path]; } coverageData.hash = hash; return coverage[path] = coverageData; }(); exports.allowAny = allowAny; exports.forbidAny = forbidAny; exports.delegate = delegate; function allowAny(value, field, data) { cov_xsapdyc9z.f[0]++; cov_xsapdyc9z.s[0]++; return data; } function forbidAny(value, field, data) { cov_xsapdyc9z.f[1]++; cov_xsapdyc9z.s[1]++; return { error: `Field ${field} does not accept any value` }; } /** * There are 2 available signatures: * * @param {string} context the context name * @param {object = { required: false }} options the options * * Or: * * @param {object = { required: false }} options the options */ function delegate(arg1, arg2) { cov_xsapdyc9z.f[2]++; let required = (cov_xsapdyc9z.s[2]++, false); let context; cov_xsapdyc9z.s[3]++; if ((cov_xsapdyc9z.b[1][0]++, arg1) && (cov_xsapdyc9z.b[1][1]++, typeof arg1 !== 'string')) { cov_xsapdyc9z.b[0][0]++; cov_xsapdyc9z.s[4]++; required = (cov_xsapdyc9z.b[2][0]++, arg1.required) || (cov_xsapdyc9z.b[2][1]++, false); } else { cov_xsapdyc9z.b[0][1]++; cov_xsapdyc9z.s[5]++; context = arg1; cov_xsapdyc9z.s[6]++; required = (cov_xsapdyc9z.b[3][0]++, arg2) && (cov_xsapdyc9z.b[3][1]++, arg2.required) || (cov_xsapdyc9z.b[3][2]++, false); } cov_xsapdyc9z.s[7]++; return (entity, key) => { cov_xsapdyc9z.f[3]++; cov_xsapdyc9z.s[8]++; if (entity === undefined) { cov_xsapdyc9z.b[4][0]++; cov_xsapdyc9z.s[9]++; if (required) { cov_xsapdyc9z.b[5][0]++; cov_xsapdyc9z.s[10]++; return { error: `${key} is required` }; } else { cov_xsapdyc9z.b[5][1]++; } cov_xsapdyc9z.s[11]++; return entity; } else { cov_xsapdyc9z.b[4][1]++; } cov_xsapdyc9z.s[12]++; try { cov_xsapdyc9z.s[13]++; entity.validate(context); cov_xsapdyc9z.s[14]++; return { data: entity }; } catch (e) { cov_xsapdyc9z.s[15]++; if (e.code === 'ERR_VALIDATION') { cov_xsapdyc9z.b[6][0]++; cov_xsapdyc9z.s[16]++; return { error: e.details }; } else { cov_xsapdyc9z.b[6][1]++; } cov_xsapdyc9z.s[17]++; return { error: e.message }; } }; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0LXZhbGlkYXRvcnMuanMiXSwibmFtZXMiOlsiYWxsb3dBbnkiLCJmb3JiaWRBbnkiLCJkZWxlZ2F0ZSIsInZhbHVlIiwiZmllbGQiLCJkYXRhIiwiZXJyb3IiLCJhcmcxIiwiYXJnMiIsInJlcXVpcmVkIiwiY29udGV4dCIsImVudGl0eSIsImtleSIsInVuZGVmaW5lZCIsInZhbGlkYXRlIiwiZSIsImNvZGUiLCJkZXRhaWxzIiwibWVzc2FnZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FBQWdCQSxRLEdBQUFBLFE7UUFJQUMsUyxHQUFBQSxTO1FBY0FDLFEsR0FBQUEsUTtBQWxCVCxTQUFTRixRQUFULENBQW1CRyxLQUFuQixFQUEwQkMsS0FBMUIsRUFBaUNDLElBQWpDLEVBQXVDO0FBQUE7QUFBQTs7QUFDNUMsU0FBT0EsSUFBUDtBQUNEOztBQUVNLFNBQVNKLFNBQVQsQ0FBb0JFLEtBQXBCLEVBQTJCQyxLQUEzQixFQUFrQ0MsSUFBbEMsRUFBd0M7QUFBQTtBQUFBOztBQUM3QyxTQUFPLEVBQUVDLE9BQVEsU0FBUUYsS0FBTSw0QkFBeEIsRUFBUDtBQUNEOztBQUVEOzs7Ozs7Ozs7O0FBVU8sU0FBU0YsUUFBVCxDQUFtQkssSUFBbkIsRUFBeUJDLElBQXpCLEVBQStCO0FBQUE7O0FBQ3BDLE1BQUlDLGtDQUFXLEtBQVgsQ0FBSjtBQUNBLE1BQUlDLE9BQUo7O0FBRm9DO0FBSXBDLE1BQUksNkRBQVEsT0FBT0gsSUFBUCxLQUFnQixRQUF4QixDQUFKLEVBQXNDO0FBQUE7QUFBQTs7QUFDcENFLGVBQVcsK0JBQUtBLFFBQUwsK0JBQWlCLEtBQWpCLENBQVg7QUFDRCxHQUZELE1BRU87QUFBQTtBQUFBOztBQUNMQyxjQUFVSCxJQUFWO0FBREs7QUFFTEUsZUFBWSw2REFBUUQsS0FBS0MsUUFBYixDQUFELDhCQUEyQixLQUEzQixDQUFYO0FBQ0Q7O0FBVG1DO0FBV3BDLFNBQU8sQ0FBQ0UsTUFBRCxFQUFTQyxHQUFULEtBQWlCO0FBQUE7QUFBQTs7QUFDdEIsUUFBSUQsV0FBV0UsU0FBZixFQUEwQjtBQUFBO0FBQUE7O0FBQ3hCLFVBQUlKLFFBQUosRUFBYztBQUFBO0FBQUE7O0FBQ1osZUFBTyxFQUFFSCxPQUFRLEdBQUVNLEdBQUksY0FBaEIsRUFBUDtBQUNELE9BRkQ7QUFBQTtBQUFBOztBQUR3QjtBQUt4QixhQUFPRCxNQUFQO0FBQ0QsS0FORDtBQUFBO0FBQUE7O0FBRHNCO0FBU3RCLFFBQUk7QUFBQTs7QUFDRkEsYUFBT0csUUFBUCxDQUFnQkosT0FBaEI7QUFERTtBQUVGLGFBQU8sRUFBRUwsTUFBTU0sTUFBUixFQUFQO0FBQ0QsS0FIRCxDQUdFLE9BQU9JLENBQVAsRUFBVTtBQUFBOztBQUNWLFVBQUlBLEVBQUVDLElBQUYsS0FBVyxnQkFBZixFQUFpQztBQUFBO0FBQUE7O0FBQy9CLGVBQU8sRUFBRVYsT0FBT1MsRUFBRUUsT0FBWCxFQUFQO0FBQ0QsT0FGRDtBQUFBO0FBQUE7O0FBRFU7QUFLVixhQUFPLEVBQUVYLE9BQU9TLEVBQUVHLE9BQVgsRUFBUDtBQUNEO0FBQ0YsR0FuQkQ7QUFvQkQiLCJmaWxlIjoiZGVmYXVsdC12YWxpZGF0b3JzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGFsbG93QW55ICh2YWx1ZSwgZmllbGQsIGRhdGEpIHtcbiAgcmV0dXJuIGRhdGFcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcmJpZEFueSAodmFsdWUsIGZpZWxkLCBkYXRhKSB7XG4gIHJldHVybiB7IGVycm9yOiBgRmllbGQgJHtmaWVsZH0gZG9lcyBub3QgYWNjZXB0IGFueSB2YWx1ZWAgfVxufVxuXG4vKipcbiAqIFRoZXJlIGFyZSAyIGF2YWlsYWJsZSBzaWduYXR1cmVzOlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZXh0IHRoZSBjb250ZXh0IG5hbWVcbiAqIEBwYXJhbSB7b2JqZWN0ID0geyByZXF1aXJlZDogZmFsc2UgfX0gb3B0aW9ucyB0aGUgb3B0aW9uc1xuICpcbiAqIE9yOlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0ID0geyByZXF1aXJlZDogZmFsc2UgfX0gb3B0aW9ucyB0aGUgb3B0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZGVsZWdhdGUgKGFyZzEsIGFyZzIpIHtcbiAgbGV0IHJlcXVpcmVkID0gZmFsc2VcbiAgbGV0IGNvbnRleHRcblxuICBpZiAoYXJnMSAmJiB0eXBlb2YgYXJnMSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXF1aXJlZCA9IGFyZzEucmVxdWlyZWQgfHwgZmFsc2VcbiAgfSBlbHNlIHtcbiAgICBjb250ZXh0ID0gYXJnMVxuICAgIHJlcXVpcmVkID0gKGFyZzIgJiYgYXJnMi5yZXF1aXJlZCkgfHwgZmFsc2VcbiAgfVxuXG4gIHJldHVybiAoZW50aXR5LCBrZXkpID0+IHtcbiAgICBpZiAoZW50aXR5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmIChyZXF1aXJlZCkge1xuICAgICAgICByZXR1cm4geyBlcnJvcjogYCR7a2V5fSBpcyByZXF1aXJlZGAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gZW50aXR5XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGVudGl0eS52YWxpZGF0ZShjb250ZXh0KVxuICAgICAgcmV0dXJuIHsgZGF0YTogZW50aXR5IH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoZS5jb2RlID09PSAnRVJSX1ZBTElEQVRJT04nKSB7XG4gICAgICAgIHJldHVybiB7IGVycm9yOiBlLmRldGFpbHMgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4geyBlcnJvcjogZS5tZXNzYWdlIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==