Socket
Socket
Sign inDemoInstall

@orion-js/schema

Package Overview
Dependencies
Maintainers
2
Versions
110
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@orion-js/schema - npm Package Compare versions

Comparing version 0.19.2 to 0.19.8

132

lib/clean/cleanType.js

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,23 +6,32 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = _default;
var _getFieldType = require('../getValidationErrors/getError/getFieldType');
var _getFieldType = _interopRequireDefault(require("../getValidationErrors/getError/getFieldType"));
var _getFieldType2 = _interopRequireDefault(_getFieldType);
var _isNil = _interopRequireDefault(require("lodash/isNil"));
var _isNil = require('lodash/isNil');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _isNil2 = _interopRequireDefault(_isNil);
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
function _default(_x, _x2, _x3, _x4) {
return _ref.apply(this, arguments);
}
exports.default = function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(type, fieldSchema, value, info) {
for (var _len = arguments.length, args = Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) {
args[_key - 4] = arguments[_key];
}
function _ref() {
_ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(type, fieldSchema, value, info) {
var _yield$getFieldType,
rootFieldClean,
_len,
args,
_key,
needReClean,
_fieldSchema$type,
defaultValue,
autoValue,
clean,
_args = arguments;
var _ref2, rootFieldClean, needReClean, _fieldSchema$type, defaultValue, autoValue, clean;
return regeneratorRuntime.wrap(function _callee$(_context) {

@@ -43,24 +52,28 @@ while (1) {

_context.next = 5;
return (0, _getFieldType2.default)(type);
return (0, _getFieldType["default"])(type);
case 5:
_ref2 = _context.sent;
rootFieldClean = _ref2.clean;
_yield$getFieldType = _context.sent;
rootFieldClean = _yield$getFieldType.clean;
if (!(rootFieldClean && !(0, _isNil2.default)(value))) {
_context.next = 11;
for (_len = _args.length, args = new Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) {
args[_key - 4] = _args[_key];
}
if (!(rootFieldClean && !(0, _isNil["default"])(value))) {
_context.next = 12;
break;
}
_context.next = 10;
return rootFieldClean.apply(undefined, [value, info].concat(args));
_context.next = 11;
return rootFieldClean.apply(void 0, [value, info].concat(args));
case 10:
case 11:
value = _context.sent;
case 11:
case 12:
needReClean = false;
if (!fieldSchema.type.__clean) {
_context.next = 17;
_context.next = 18;
break;

@@ -70,13 +83,13 @@ }

needReClean = true;
_context.next = 16;
_context.next = 17;
return (_fieldSchema$type = fieldSchema.type).__clean.apply(_fieldSchema$type, [value, info].concat(args));
case 16:
case 17:
value = _context.sent;
case 17:
case 18:
defaultValue = fieldSchema.defaultValue;
if (!((0, _isNil2.default)(value) && !(0, _isNil2.default)(defaultValue))) {
_context.next = 27;
if (!((0, _isNil["default"])(value) && !(0, _isNil["default"])(defaultValue))) {
_context.next = 28;
break;

@@ -88,22 +101,22 @@ }

if (!(typeof defaultValue === 'function')) {
_context.next = 26;
_context.next = 27;
break;
}
_context.next = 23;
return defaultValue.apply(undefined, [info].concat(args));
_context.next = 24;
return defaultValue.apply(void 0, [info].concat(args));
case 23:
case 24:
value = _context.sent;
_context.next = 27;
_context.next = 28;
break;
case 26:
case 27:
value = defaultValue;
case 27:
case 28:
autoValue = fieldSchema.autoValue;
if (!autoValue) {
_context.next = 33;
_context.next = 34;
break;

@@ -113,13 +126,13 @@ }

needReClean = true;
_context.next = 32;
return autoValue.apply(undefined, [value, info].concat(args));
_context.next = 33;
return autoValue.apply(void 0, [value, info].concat(args));
case 32:
case 33:
value = _context.sent;
case 33:
case 34:
clean = fieldSchema.clean;
if (!clean) {
_context.next = 39;
_context.next = 40;
break;

@@ -129,34 +142,31 @@ }

needReClean = true;
_context.next = 38;
return clean.apply(undefined, [value, info].concat(args));
_context.next = 39;
return clean.apply(void 0, [value, info].concat(args));
case 38:
case 39:
value = _context.sent;
case 39:
if (!(needReClean && rootFieldClean && !(0, _isNil2.default)(value))) {
_context.next = 43;
case 40:
if (!(needReClean && rootFieldClean && !(0, _isNil["default"])(value))) {
_context.next = 44;
break;
}
_context.next = 42;
return rootFieldClean.apply(undefined, [value, info].concat(args));
_context.next = 43;
return rootFieldClean.apply(void 0, [value, info].concat(args));
case 42:
case 43:
value = _context.sent;
case 43:
return _context.abrupt('return', value);
case 44:
return _context.abrupt("return", value);
case 44:
case 'end':
case 45:
case "end":
return _context.stop();
}
}
}, _callee, this);
}, _callee);
}));
return function (_x, _x2, _x3, _x4) {
return _ref.apply(this, arguments);
};
}();
return _ref.apply(this, arguments);
}

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,13 +6,18 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = _default;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _recursiveClean = _interopRequireDefault(require("./recursiveClean"));
var _recursiveClean = require('./recursiveClean');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _recursiveClean2 = _interopRequireDefault(_recursiveClean);
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
var defaultOptions = {

@@ -25,11 +30,17 @@ autoConvert: true,

exports.default = function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(schema) {
for (var _len = arguments.length, args = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
args[_key - 3] = arguments[_key];
}
function _default(_x) {
return _ref.apply(this, arguments);
}
var doc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var passedOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var options, params;
function _ref() {
_ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(schema) {
var doc,
passedOptions,
options,
_len,
args,
_key,
params,
_args = arguments;
return regeneratorRuntime.wrap(function _callee$(_context) {

@@ -39,5 +50,14 @@ while (1) {

case 0:
options = _extends({}, defaultOptions, passedOptions);
doc = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
passedOptions = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
options = _objectSpread(_objectSpread({}, defaultOptions), passedOptions);
for (_len = _args.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
args[_key - 3] = _args[_key];
}
params = {
schema: { type: schema },
schema: {
type: schema
},
value: doc,

@@ -49,19 +69,16 @@ doc: options.forceDoc || doc,

};
_context.next = 4;
return (0, _recursiveClean2.default)(params);
_context.next = 7;
return (0, _recursiveClean["default"])(params);
case 4:
return _context.abrupt('return', _context.sent);
case 7:
return _context.abrupt("return", _context.sent);
case 5:
case 'end':
case 8:
case "end":
return _context.stop();
}
}
}, _callee, this);
}, _callee);
}));
return function (_x) {
return _ref.apply(this, arguments);
};
}();
return _ref.apply(this, arguments);
}

@@ -1,14 +0,18 @@

'use strict';
"use strict";
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _index = _interopRequireDefault(require("./index"));
var _index = require('./index');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _index2 = _interopRequireDefault(_index);
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
test('autoconverts values', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
test('autoconverts values', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var schema, doc, cleaned;

@@ -36,7 +40,6 @@ return regeneratorRuntime.wrap(function _callee$(_context) {

_context.next = 4;
return (0, _index2.default)(schema, doc);
return (0, _index["default"])(schema, doc);
case 4:
cleaned = _context.sent;
expect(cleaned).toEqual({

@@ -49,10 +52,9 @@ number: 12,

case 6:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('dont autoConvert values', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('dont autoConvert values', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
var schema, doc, cleaned;

@@ -80,7 +82,9 @@ return regeneratorRuntime.wrap(function _callee2$(_context2) {

_context2.next = 4;
return (0, _index2.default)(schema, doc, { autoConvert: false, trimStrings: false });
return (0, _index["default"])(schema, doc, {
autoConvert: false,
trimStrings: false
});
case 4:
cleaned = _context2.sent;
expect(cleaned).toEqual({

@@ -93,10 +97,9 @@ number: '12',

case 6:
case 'end':
case "end":
return _context2.stop();
}
}
}, _callee2, undefined);
}, _callee2);
})));
test('dont remove null values', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
test('dont remove null values', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
var schema, doc, cleaned;

@@ -116,7 +119,6 @@ return regeneratorRuntime.wrap(function _callee3$(_context3) {

_context3.next = 4;
return (0, _index2.default)(schema, doc);
return (0, _index["default"])(schema, doc);
case 4:
cleaned = _context3.sent;
expect(cleaned).toEqual({

@@ -127,10 +129,9 @@ string: null

case 6:
case 'end':
case "end":
return _context3.stop();
}
}
}, _callee3, undefined);
}, _callee3);
})));
test('cleans boolean correctly', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
test('cleans boolean correctly', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
var type, schema, doc, cleaned;

@@ -141,3 +142,5 @@ return regeneratorRuntime.wrap(function _callee4$(_context4) {

case 0:
type = { type: Boolean };
type = {
type: Boolean
};
schema = {

@@ -159,7 +162,6 @@ a: type,

_context4.next = 5;
return (0, _index2.default)(schema, doc);
return (0, _index["default"])(schema, doc);
case 5:
cleaned = _context4.sent;
expect(cleaned).toEqual({

@@ -174,10 +176,9 @@ a: true,

case 7:
case 'end':
case "end":
return _context4.stop();
}
}
}, _callee4, undefined);
}, _callee4);
})));
test('trims strings and filter them', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
test('trims strings and filter them', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
var type, schema, doc, cleaned;

@@ -188,3 +189,5 @@ return regeneratorRuntime.wrap(function _callee5$(_context5) {

case 0:
type = { type: String };
type = {
type: String
};
schema = {

@@ -199,7 +202,9 @@ aString: type,

_context5.next = 5;
return (0, _index2.default)(schema, doc, { trimStrings: true, removeEmptyStrings: true });
return (0, _index["default"])(schema, doc, {
trimStrings: true,
removeEmptyStrings: true
});
case 5:
cleaned = _context5.sent;
expect(cleaned).toEqual({

@@ -210,10 +215,9 @@ aString: '123 321 \n 123 \n\t d'

case 7:
case 'end':
case "end":
return _context5.stop();
}
}
}, _callee5, undefined);
}, _callee5);
})));
test('filter fields not in schema', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
test('filter fields not in schema', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
var type, schema, doc, cleaned;

@@ -224,3 +228,5 @@ return regeneratorRuntime.wrap(function _callee6$(_context6) {

case 0:
type = { type: String };
type = {
type: String
};
schema = {

@@ -235,7 +241,6 @@ a: type,

_context6.next = 5;
return (0, _index2.default)(schema, doc);
return (0, _index["default"])(schema, doc);
case 5:
cleaned = _context6.sent;
expect(cleaned).toEqual({

@@ -246,10 +251,9 @@ b: 'hi'

case 7:
case 'end':
case "end":
return _context6.stop();
}
}
}, _callee6, undefined);
}, _callee6);
})));
test('runs autovalues with arrays', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {
test('runs autovalues with arrays', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {
var schema, doc, cleaned;

@@ -274,7 +278,6 @@ return regeneratorRuntime.wrap(function _callee7$(_context7) {

_context7.next = 4;
return (0, _index2.default)(schema, doc);
return (0, _index["default"])(schema, doc);
case 4:
cleaned = _context7.sent;
expect(cleaned).toEqual({

@@ -285,10 +288,9 @@ texts: ['hello world', 'good bye world']

case 6:
case 'end':
case "end":
return _context7.stop();
}
}
}, _callee7, undefined);
}, _callee7);
})));
test('run autovalue when field is not present', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {
test('run autovalue when field is not present', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {
var schema, doc, cleaned;

@@ -309,18 +311,18 @@ return regeneratorRuntime.wrap(function _callee8$(_context8) {

_context8.next = 4;
return (0, _index2.default)(schema, doc);
return (0, _index["default"])(schema, doc);
case 4:
cleaned = _context8.sent;
expect(cleaned).toEqual({
text: 'a value'
});
expect(cleaned).toEqual({ text: 'a value' });
case 6:
case 'end':
case "end":
return _context8.stop();
}
}
}, _callee8, undefined);
}, _callee8);
})));
test('returns the default values', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {
test('returns the default values', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {
var schema, doc, cleaned;

@@ -357,9 +359,10 @@ return regeneratorRuntime.wrap(function _callee9$(_context9) {

};
doc = { text1: 'pass' };
doc = {
text1: 'pass'
};
_context9.next = 4;
return (0, _index2.default)(schema, doc);
return (0, _index["default"])(schema, doc);
case 4:
cleaned = _context9.sent;
expect(cleaned).toEqual({

@@ -373,10 +376,9 @@ text: 'hello world',

case 6:
case 'end':
case "end":
return _context9.stop();
}
}
}, _callee9, undefined);
}, _callee9);
})));
test('run deep autovalues', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {
test('run deep autovalues', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {
var deep, schema, doc, cleaned;

@@ -399,3 +401,5 @@ return regeneratorRuntime.wrap(function _callee10$(_context10) {

autoValue: function autoValue(text) {
return _extends({}, text, { type: 'text' });
return _objectSpread(_objectSpread({}, text), {}, {
type: 'text'
});
}

@@ -411,25 +415,33 @@ },

doc = {
text: { s: 'objecttext' },
texts: [{ s: 'arraytext' }, { s: 'noa' }]
text: {
s: 'objecttext'
},
texts: [{
s: 'arraytext'
}, {
s: 'noa'
}]
};
_context10.next = 5;
return (0, _index2.default)(schema, doc);
return (0, _index["default"])(schema, doc);
case 5:
cleaned = _context10.sent;
expect(cleaned).toEqual({
text: { s: 'no' },
texts: [{ s: 'no' }, 'yes']
text: {
s: 'no'
},
texts: [{
s: 'no'
}, 'yes']
});
case 7:
case 'end':
case "end":
return _context10.stop();
}
}
}, _callee10, undefined);
}, _callee10);
})));
test('perform custom cleaning from clean option in field', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee12() {
test('perform custom cleaning from clean option in field', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee12() {
var person, schema, cleaned;

@@ -444,4 +456,2 @@ return regeneratorRuntime.wrap(function _callee12$(_context12) {

clean: function clean(value) {
var _this = this;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11() {

@@ -457,13 +467,13 @@ return regeneratorRuntime.wrap(function _callee11$(_context11) {

return _context11.abrupt('return', 'Roberto');
return _context11.abrupt("return", 'Roberto');
case 4:
return _context11.abrupt('return', value);
return _context11.abrupt("return", value);
case 5:
case 'end':
case "end":
return _context11.stop();
}
}
}, _callee11, _this);
}, _callee11);
}))();

@@ -479,4 +489,8 @@ }

_context12.next = 4;
return (0, _index2.default)(schema, {
persons: [{ name: 'Nicolás' }, { name: 'Joaquin' }]
return (0, _index["default"])(schema, {
persons: [{
name: 'Nicolás'
}, {
name: 'Joaquin'
}]
});

@@ -486,16 +500,18 @@

cleaned = _context12.sent;
expect(cleaned).toEqual({
persons: [{ name: 'Nicolás' }, { name: 'Roberto' }]
persons: [{
name: 'Nicolás'
}, {
name: 'Roberto'
}]
});
case 6:
case 'end':
case "end":
return _context12.stop();
}
}
}, _callee12, undefined);
}, _callee12);
})));
test('perform custom cleaning', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee14() {
test('perform custom cleaning', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee14() {
var person, schema, cleaned;

@@ -511,4 +527,2 @@ return regeneratorRuntime.wrap(function _callee14$(_context14) {

__clean: function __clean(value) {
var _this2 = this;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee13() {

@@ -524,13 +538,15 @@ return regeneratorRuntime.wrap(function _callee13$(_context13) {

return _context13.abrupt('return', { name: 'Roberto' });
return _context13.abrupt("return", {
name: 'Roberto'
});
case 4:
return _context13.abrupt('return', value);
return _context13.abrupt("return", value);
case 5:
case 'end':
case "end":
return _context13.stop();
}
}
}, _callee13, _this2);
}, _callee13);
}))();

@@ -545,4 +561,8 @@ }

_context14.next = 4;
return (0, _index2.default)(schema, {
persons: [{ name: 'Nicolás' }, { name: 'Joaquin' }]
return (0, _index["default"])(schema, {
persons: [{
name: 'Nicolás'
}, {
name: 'Joaquin'
}]
});

@@ -552,16 +572,18 @@

cleaned = _context14.sent;
expect(cleaned).toEqual({
persons: [{ name: 'Nicolás' }, { name: 'Roberto' }]
persons: [{
name: 'Nicolás'
}, {
name: 'Roberto'
}]
});
case 6:
case 'end':
case "end":
return _context14.stop();
}
}
}, _callee14, undefined);
}, _callee14);
})));
test('perform non deep custom cleaning', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee16() {
test('perform non deep custom cleaning', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee16() {
var schema, cleaned;

@@ -577,4 +599,2 @@ return regeneratorRuntime.wrap(function _callee16$(_context16) {

__clean: function __clean(value) {
var _this3 = this;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee15() {

@@ -590,13 +610,15 @@ return regeneratorRuntime.wrap(function _callee15$(_context15) {

return _context15.abrupt('return', { name: 'Roberto' });
return _context15.abrupt("return", {
name: 'Roberto'
});
case 4:
return _context15.abrupt('return', value);
return _context15.abrupt("return", value);
case 5:
case 'end':
case "end":
return _context15.stop();
}
}
}, _callee15, _this3);
}, _callee15);
}))();

@@ -606,18 +628,20 @@ }

_context16.next = 3;
return (0, _index2.default)(schema, { name: 'Joaquin' });
return (0, _index["default"])(schema, {
name: 'Joaquin'
});
case 3:
cleaned = _context16.sent;
expect(cleaned).toEqual({
name: 'Roberto'
});
expect(cleaned).toEqual({ name: 'Roberto' });
case 5:
case 'end':
case "end":
return _context16.stop();
}
}
}, _callee16, undefined);
}, _callee16);
})));
test('Handle errors while cleaning', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee18() {
test('Handle errors while cleaning', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee18() {
var schema;

@@ -632,4 +656,2 @@ return regeneratorRuntime.wrap(function _callee18$(_context18) {

autoValue: function autoValue(value) {
var _this4 = this;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee17() {

@@ -643,7 +665,7 @@ return regeneratorRuntime.wrap(function _callee17$(_context17) {

case 1:
case 'end':
case "end":
return _context17.stop();
}
}
}, _callee17, _this4);
}, _callee17);
}))();

@@ -655,3 +677,5 @@ }

_context18.next = 4;
return (0, _index2.default)(schema, { name: 'Joaquin' });
return (0, _index["default"])(schema, {
name: 'Joaquin'
});

@@ -664,15 +688,13 @@ case 4:

_context18.prev = 6;
_context18.t0 = _context18['catch'](1);
_context18.t0 = _context18["catch"](1);
expect(_context18.t0.message).toBe('Error cleaning field name, error: an error');
case 9:
case 'end':
case "end":
return _context18.stop();
}
}
}, _callee18, undefined, [[1, 6]]);
}, _callee18, null, [[1, 6]]);
})));
test('pass currentDoc cleaning arrays', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee21() {
test('pass currentDoc cleaning arrays', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee21() {
var aItem, doc, item, schema;

@@ -683,4 +705,8 @@ return regeneratorRuntime.wrap(function _callee21$(_context21) {

case 0:
aItem = { name: 'Nicolás' };
doc = { items: [aItem] };
aItem = {
name: 'Nicolás'
};
doc = {
items: [aItem]
};
item = {

@@ -690,6 +716,4 @@ name: {

autoValue: function autoValue(name, _ref16) {
var _this5 = this;
var currentDoc = _ref16.currentDoc;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee19() {
var currentDoc;
return regeneratorRuntime.wrap(function _callee19$(_context19) {

@@ -699,10 +723,11 @@ while (1) {

case 0:
currentDoc = _ref16.currentDoc;
expect(currentDoc).toBe(aItem);
case 1:
case 'end':
case 2:
case "end":
return _context19.stop();
}
}
}, _callee19, _this5);
}, _callee19);
}))();

@@ -716,6 +741,4 @@ }

autoValue: function autoValue(items, _ref17) {
var _this6 = this;
var currentDoc = _ref17.currentDoc;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee20() {
var currentDoc;
return regeneratorRuntime.wrap(function _callee20$(_context20) {

@@ -725,10 +748,11 @@ while (1) {

case 0:
currentDoc = _ref17.currentDoc;
expect(currentDoc).toBe(doc);
case 1:
case 'end':
case 2:
case "end":
return _context20.stop();
}
}
}, _callee20, _this6);
}, _callee20);
}))();

@@ -738,17 +762,14 @@ }

};
expect.assertions(2);
_context21.next = 7;
return (0, _index2.default)(schema, doc);
return (0, _index["default"])(schema, doc);
case 7:
case 'end':
case "end":
return _context21.stop();
}
}
}, _callee21, undefined);
}, _callee21);
})));
test('omit undefined items in array', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee22() {
test('omit undefined items in array', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee22() {
var doc, item, schema, result;

@@ -759,3 +780,7 @@ return regeneratorRuntime.wrap(function _callee22$(_context22) {

case 0:
doc = { items: [{ name: 'Nicolás' }] };
doc = {
items: [{
name: 'Nicolás'
}]
};
item = {

@@ -773,18 +798,18 @@ name: {

_context22.next = 5;
return (0, _index2.default)(schema, doc);
return (0, _index["default"])(schema, doc);
case 5:
result = _context22.sent;
expect(result).toEqual({
items: []
});
expect(result).toEqual({ items: [] });
case 7:
case 'end':
case "end":
return _context22.stop();
}
}
}, _callee22, undefined);
}, _callee22);
})));
test('passes extra arguments to clean', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee23() {
test('passes extra arguments to clean', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee23() {
var doc, schema;

@@ -807,17 +832,14 @@ return regeneratorRuntime.wrap(function _callee23$(_context23) {

};
expect.assertions(2);
_context23.next = 5;
return (0, _index2.default)(schema, doc, null, 1, 2);
return (0, _index["default"])(schema, doc, null, 1, 2);
case 5:
case 'end':
case "end":
return _context23.stop();
}
}
}, _callee23, undefined);
}, _callee23);
})));
test('throws error when cleaning field with no type', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee24() {
test('throws error when cleaning field with no type', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee24() {
var schema;

@@ -836,8 +858,6 @@ return regeneratorRuntime.wrap(function _callee24$(_context24) {

};
expect.assertions(1);
_context24.prev = 2;
_context24.next = 5;
return (0, _index2.default)(schema);
return (0, _index["default"])(schema);

@@ -850,15 +870,13 @@ case 5:

_context24.prev = 7;
_context24.t0 = _context24['catch'](2);
_context24.t0 = _context24["catch"](2);
expect(_context24.t0.message).toBe('Error cleaning field name, error: Cleaning field with no type');
case 10:
case 'end':
case "end":
return _context24.stop();
}
}
}, _callee24, undefined, [[2, 7]]);
}, _callee24, null, [[2, 7]]);
})));
test('cleans when no argument is passed', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee25() {
test('cleans when no argument is passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee25() {
var schema, result;

@@ -878,18 +896,18 @@ return regeneratorRuntime.wrap(function _callee25$(_context25) {

_context25.next = 3;
return (0, _index2.default)(schema);
return (0, _index["default"])(schema);
case 3:
result = _context25.sent;
expect(result).toEqual({
name: 'Nicolás'
});
expect(result).toEqual({ name: 'Nicolás' });
case 5:
case 'end':
case "end":
return _context25.stop();
}
}
}, _callee25, undefined);
}, _callee25);
})));
test('pass currentDoc cleaning complex schemas', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee33() {
test('pass currentDoc cleaning complex schemas', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee33() {
var aCar, aMom, aItem, doc, car, mom, item, schema;

@@ -900,6 +918,16 @@ return regeneratorRuntime.wrap(function _callee33$(_context33) {

case 0:
aCar = { brand: 'Jeep' };
aMom = { name: 'Paula', car: aCar };
aItem = { name: 'Nicolás', mom: aMom };
doc = { items: [aItem] };
aCar = {
brand: 'Jeep'
};
aMom = {
name: 'Paula',
car: aCar
};
aItem = {
name: 'Nicolás',
mom: aMom
};
doc = {
items: [aItem]
};
car = {

@@ -909,6 +937,4 @@ brand: {

autoValue: function autoValue(value, _ref23) {
var _this7 = this;
var currentDoc = _ref23.currentDoc;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee26() {
var currentDoc;
return regeneratorRuntime.wrap(function _callee26$(_context26) {

@@ -918,12 +944,13 @@ while (1) {

case 0:
currentDoc = _ref23.currentDoc;
expect(value).toEqual(aCar.brand);
expect(currentDoc).toEqual(aCar);
return _context26.abrupt('return', value);
return _context26.abrupt("return", value);
case 3:
case 'end':
case 4:
case "end":
return _context26.stop();
}
}
}, _callee26, _this7);
}, _callee26);
}))();

@@ -933,4 +960,2 @@ }

__clean: function __clean(value, info) {
var _this8 = this;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee27() {

@@ -943,10 +968,10 @@ return regeneratorRuntime.wrap(function _callee27$(_context27) {

expect(info.currentDoc).toEqual(aMom);
return _context27.abrupt('return', value);
return _context27.abrupt("return", value);
case 3:
case 'end':
case "end":
return _context27.stop();
}
}
}, _callee27, _this8);
}, _callee27);
}))();

@@ -959,6 +984,4 @@ }

autoValue: function autoValue(value, _ref24) {
var _this9 = this;
var currentDoc = _ref24.currentDoc;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee28() {
var currentDoc;
return regeneratorRuntime.wrap(function _callee28$(_context28) {

@@ -968,12 +991,13 @@ while (1) {

case 0:
currentDoc = _ref24.currentDoc;
expect(value).toEqual(aMom.name);
expect(currentDoc).toEqual(aMom);
return _context28.abrupt('return', value);
return _context28.abrupt("return", value);
case 3:
case 'end':
case 4:
case "end":
return _context28.stop();
}
}
}, _callee28, _this9);
}, _callee28);
}))();

@@ -985,7 +1009,4 @@ }

autoValue: function autoValue(value, _ref25) {
var _this10 = this;
var currentDoc = _ref25.currentDoc,
doc = _ref25.doc;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee29() {
var currentDoc, doc;
return regeneratorRuntime.wrap(function _callee29$(_context29) {

@@ -995,12 +1016,13 @@ while (1) {

case 0:
currentDoc = _ref25.currentDoc, doc = _ref25.doc;
expect(value).toEqual(aMom.car);
expect(currentDoc).toEqual(aMom);
return _context29.abrupt('return', value);
return _context29.abrupt("return", value);
case 3:
case 'end':
case 4:
case "end":
return _context29.stop();
}
}
}, _callee29, _this10);
}, _callee29);
}))();

@@ -1014,6 +1036,4 @@ }

autoValue: function autoValue(value, _ref26) {
var _this11 = this;
var currentDoc = _ref26.currentDoc;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee30() {
var currentDoc;
return regeneratorRuntime.wrap(function _callee30$(_context30) {

@@ -1023,12 +1043,13 @@ while (1) {

case 0:
currentDoc = _ref26.currentDoc;
expect(value).toEqual(aItem.name);
expect(currentDoc).toEqual(aItem);
return _context30.abrupt('return', value);
return _context30.abrupt("return", value);
case 3:
case 'end':
case 4:
case "end":
return _context30.stop();
}
}
}, _callee30, _this11);
}, _callee30);
}))();

@@ -1040,6 +1061,4 @@ }

autoValue: function autoValue(value, _ref27) {
var _this12 = this;
var currentDoc = _ref27.currentDoc;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee31() {
var currentDoc;
return regeneratorRuntime.wrap(function _callee31$(_context31) {

@@ -1049,12 +1068,13 @@ while (1) {

case 0:
currentDoc = _ref27.currentDoc;
expect(value).toEqual(aItem.mom);
expect(currentDoc).toEqual(aItem);
return _context31.abrupt('return', value);
return _context31.abrupt("return", value);
case 3:
case 'end':
case 4:
case "end":
return _context31.stop();
}
}
}, _callee31, _this12);
}, _callee31);
}))();

@@ -1068,6 +1088,4 @@ }

autoValue: function autoValue(value, _ref28) {
var _this13 = this;
var currentDoc = _ref28.currentDoc;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee32() {
var currentDoc;
return regeneratorRuntime.wrap(function _callee32$(_context32) {

@@ -1077,12 +1095,13 @@ while (1) {

case 0:
currentDoc = _ref28.currentDoc;
expect(value).toEqual(doc.items);
expect(currentDoc).toEqual(doc);
return _context32.abrupt('return', value);
return _context32.abrupt("return", value);
case 3:
case 'end':
case 4:
case "end":
return _context32.stop();
}
}
}, _callee32, _this13);
}, _callee32);
}))();

@@ -1092,14 +1111,12 @@ }

};
expect.assertions(14);
_context33.next = 11;
return (0, _index2.default)(schema, doc);
return (0, _index["default"])(schema, doc);
case 11:
case 'end':
case "end":
return _context33.stop();
}
}
}, _callee33, undefined);
}, _callee33);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,41 +6,48 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = void 0;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject"));
var _isPlainObject = require('lodash/isPlainObject');
var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
var _isArray = _interopRequireDefault(require("lodash/isArray"));
var _isUndefined = require('lodash/isUndefined');
var _cleanType = _interopRequireDefault(require("./cleanType"));
var _isUndefined2 = _interopRequireDefault(_isUndefined);
var _isNil = _interopRequireDefault(require("lodash/isNil"));
var _isArray = require('lodash/isArray');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _isArray2 = _interopRequireDefault(_isArray);
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
var _cleanType = require('./cleanType');
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
var _cleanType2 = _interopRequireDefault(_cleanType);
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
var _isNil = require('lodash/isNil');
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
var _isNil2 = _interopRequireDefault(_isNil);
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
var cleanObjectFields = function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(_ref2) {
var schema = _ref2.schema,
value = _ref2.value,
other = _objectWithoutProperties(_ref2, ['schema', 'value']);
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
var keys, newDoc, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, key, cleanOptions, newValue;
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
var cleanObjectFields = /*#__PURE__*/function () {
var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(_ref) {
var schema, value, other, keys, newDoc, _iterator, _step, key, cleanOptions, newValue;
return regeneratorRuntime.wrap(function _callee$(_context) {

@@ -50,2 +57,3 @@ while (1) {

case 0:
schema = _ref.schema, value = _ref.value, other = _objectWithoutProperties(_ref, ["schema", "value"]);
keys = Object.keys(schema.type).filter(function (key) {

@@ -55,11 +63,10 @@ return !key.startsWith('__');

newDoc = {};
_iteratorNormalCompletion = true;
_didIteratorError = false;
_iteratorError = undefined;
_context.prev = 5;
_iterator = keys[Symbol.iterator]();
_iterator = _createForOfIteratorHelper(keys);
_context.prev = 4;
case 7:
if (_iteratorNormalCompletion = (_step = _iterator.next()).done) {
_context.next = 23;
_iterator.s();
case 6:
if ((_step = _iterator.n()).done) {
_context.next = 21;
break;

@@ -69,4 +76,4 @@ }

key = _step.value;
_context.prev = 9;
cleanOptions = _extends({}, other, {
_context.prev = 8;
cleanOptions = _objectSpread(_objectSpread({}, other), {}, {
schema: schema.type[key],

@@ -76,81 +83,60 @@ value: value[key],

});
_context.next = 13;
_context.next = 12;
return clean(cleanOptions);
case 13:
case 12:
newValue = _context.sent;
if (!(0, _isUndefined2.default)(newValue)) {
if (!(0, _isUndefined["default"])(newValue)) {
newDoc[key] = newValue;
}
_context.next = 20;
_context.next = 19;
break;
case 17:
_context.prev = 17;
_context.t0 = _context['catch'](9);
throw new Error('Error cleaning field ' + key + ', error: ' + _context.t0.message);
case 16:
_context.prev = 16;
_context.t0 = _context["catch"](8);
throw new Error("Error cleaning field ".concat(key, ", error: ").concat(_context.t0.message));
case 20:
_iteratorNormalCompletion = true;
_context.next = 7;
case 19:
_context.next = 6;
break;
case 23:
_context.next = 29;
case 21:
_context.next = 26;
break;
case 25:
_context.prev = 25;
_context.t1 = _context['catch'](5);
_didIteratorError = true;
_iteratorError = _context.t1;
case 23:
_context.prev = 23;
_context.t1 = _context["catch"](4);
case 29:
_context.prev = 29;
_context.prev = 30;
_iterator.e(_context.t1);
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
case 26:
_context.prev = 26;
case 32:
_context.prev = 32;
_iterator.f();
if (!_didIteratorError) {
_context.next = 35;
break;
}
return _context.finish(26);
throw _iteratorError;
case 29:
return _context.abrupt("return", newDoc);
case 35:
return _context.finish(32);
case 36:
return _context.finish(29);
case 37:
return _context.abrupt('return', newDoc);
case 38:
case 'end':
case 30:
case "end":
return _context.stop();
}
}
}, _callee, this, [[5, 25, 29, 37], [9, 17], [30,, 32, 36]]);
}, _callee, null, [[4, 23, 26, 29], [8, 16]]);
}));
return function cleanObjectFields(_x) {
return _ref.apply(this, arguments);
return _ref2.apply(this, arguments);
};
}();
var cleanArrayItems = function () {
var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(_ref4) {
var schema = _ref4.schema,
value = _ref4.value,
other = _objectWithoutProperties(_ref4, ['schema', 'value']);
var newDoc, i, newValue;
var cleanArrayItems = /*#__PURE__*/function () {
var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(_ref3) {
var schema, value, other, newDoc, i, newValue;
return regeneratorRuntime.wrap(function _callee2$(_context2) {

@@ -160,2 +146,3 @@ while (1) {

case 0:
schema = _ref3.schema, value = _ref3.value, other = _objectWithoutProperties(_ref3, ["schema", "value"]);
// clean array items

@@ -165,10 +152,10 @@ newDoc = [];

case 2:
case 3:
if (!(i < value.length)) {
_context2.next = 10;
_context2.next = 11;
break;
}
_context2.next = 5;
return clean(_extends({}, other, {
_context2.next = 6;
return clean(_objectSpread(_objectSpread({}, other), {}, {
schema: {

@@ -181,31 +168,31 @@ type: schema.type[0]

case 5:
case 6:
newValue = _context2.sent;
if (!(0, _isUndefined2.default)(newValue)) {
if (!(0, _isUndefined["default"])(newValue)) {
newDoc.push(newValue);
}
case 7:
case 8:
i++;
_context2.next = 2;
_context2.next = 3;
break;
case 10:
return _context2.abrupt('return', newDoc);
case 11:
return _context2.abrupt("return", newDoc);
case 11:
case 'end':
case 12:
case "end":
return _context2.stop();
}
}
}, _callee2, this);
}, _callee2);
}));
return function cleanArrayItems(_x2) {
return _ref3.apply(this, arguments);
return _ref4.apply(this, arguments);
};
}();
var clean = function () {
var clean = /*#__PURE__*/function () {
var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(info) {

@@ -220,3 +207,3 @@ var schema, args, value, newDoc, result, _newDoc, _result;

if (!((0, _isPlainObject2.default)(schema.type) && (0, _isPlainObject2.default)(value))) {
if (!((0, _isPlainObject["default"])(schema.type) && (0, _isPlainObject["default"])(value))) {
_context3.next = 11;

@@ -232,10 +219,10 @@ break;

_context3.next = 7;
return _cleanType2.default.apply(undefined, ['plainObject', schema, newDoc, info].concat(_toConsumableArray(args)));
return _cleanType["default"].apply(void 0, ['plainObject', schema, newDoc, info].concat(_toConsumableArray(args)));
case 7:
result = _context3.sent;
return _context3.abrupt('return', result);
return _context3.abrupt("return", result);
case 11:
if (!((0, _isArray2.default)(schema.type) && !(0, _isNil2.default)(info.value))) {
if (!((0, _isArray["default"])(schema.type) && !(0, _isNil["default"])(info.value))) {
_context3.next = 21;

@@ -245,3 +232,3 @@ break;

if (!(0, _isArray2.default)(value)) info.value = [value];
if (!(0, _isArray["default"])(value)) info.value = [value];
_context3.next = 15;

@@ -253,21 +240,21 @@ return cleanArrayItems(info);

_context3.next = 18;
return _cleanType2.default.apply(undefined, ['array', schema, _newDoc, info].concat(_toConsumableArray(args)));
return _cleanType["default"].apply(void 0, ['array', schema, _newDoc, info].concat(_toConsumableArray(args)));
case 18:
return _context3.abrupt('return', _context3.sent);
return _context3.abrupt("return", _context3.sent);
case 21:
_context3.next = 23;
return _cleanType2.default.apply(undefined, [schema.type, schema, value, info].concat(_toConsumableArray(args)));
return _cleanType["default"].apply(void 0, [schema.type, schema, value, info].concat(_toConsumableArray(args)));
case 23:
_result = _context3.sent;
return _context3.abrupt('return', _result);
return _context3.abrupt("return", _result);
case 25:
case 'end':
case "end":
return _context3.stop();
}
}
}, _callee3, this);
}, _callee3);
}));

@@ -280,2 +267,3 @@

exports.default = clean;
var _default = clean;
exports["default"] = _default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,17 +6,20 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = _default;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _clean = _interopRequireDefault(require("./clean"));
var _clean = require('./clean');
var _dotGetSchema = _interopRequireDefault(require("./dotGetSchema"));
var _clean2 = _interopRequireDefault(_clean);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _dotGetSchema = require('./dotGetSchema');
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
var _dotGetSchema2 = _interopRequireDefault(_dotGetSchema);
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
var defaultOptions = {

@@ -26,11 +29,17 @@ filter: true

exports.default = function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(schema, key, value) {
var passedOptions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
function _default(_x, _x2, _x3) {
return _ref.apply(this, arguments);
}
for (var _len = arguments.length, args = Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) {
args[_key - 4] = arguments[_key];
}
function _ref() {
_ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(schema, key, value) {
var passedOptions,
options,
keySchema,
_len,
args,
_key,
result,
_args = arguments;
var options, keySchema, result;
return regeneratorRuntime.wrap(function _callee$(_context) {

@@ -40,7 +49,8 @@ while (1) {

case 0:
options = _extends({}, defaultOptions, passedOptions);
keySchema = (0, _dotGetSchema2.default)(schema, key);
passedOptions = _args.length > 3 && _args[3] !== undefined ? _args[3] : {};
options = _objectSpread(_objectSpread({}, defaultOptions), passedOptions);
keySchema = (0, _dotGetSchema["default"])(schema, key);
if (keySchema) {
_context.next = 8;
_context.next = 9;
break;

@@ -50,30 +60,35 @@ }

if (!options.filter) {
_context.next = 7;
_context.next = 8;
break;
}
return _context.abrupt('return');
return _context.abrupt("return");
case 7:
return _context.abrupt('return', value);
case 8:
_context.next = 10;
return _clean2.default.apply(undefined, [{ clean: keySchema }, { clean: value }, options].concat(args));
return _context.abrupt("return", value);
case 10:
case 9:
for (_len = _args.length, args = new Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) {
args[_key - 4] = _args[_key];
}
_context.next = 12;
return _clean["default"].apply(void 0, [{
clean: keySchema
}, {
clean: value
}, options].concat(args));
case 12:
result = _context.sent;
return _context.abrupt('return', result.clean);
return _context.abrupt("return", result.clean);
case 12:
case 'end':
case 14:
case "end":
return _context.stop();
}
}
}, _callee, this);
}, _callee);
}));
return function (_x, _x2, _x3) {
return _ref.apply(this, arguments);
};
}();
return _ref.apply(this, arguments);
}

@@ -1,12 +0,12 @@

'use strict';
"use strict";
var _cleanKey = require('./cleanKey');
var _cleanKey = _interopRequireDefault(require("./cleanKey"));
var _cleanKey2 = _interopRequireDefault(_cleanKey);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
test('autoconvert value', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
test('autoconvert value', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var schema, cleaned;

@@ -23,18 +23,16 @@ return regeneratorRuntime.wrap(function _callee$(_context) {

_context.next = 3;
return (0, _cleanKey2.default)(schema, 'number', '12');
return (0, _cleanKey["default"])(schema, 'number', '12');
case 3:
cleaned = _context.sent;
expect(cleaned).toBe(12);
case 5:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('deep clean fields', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('deep clean fields', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
var tag, car, schema;

@@ -68,47 +66,48 @@ return regeneratorRuntime.wrap(function _callee2$(_context2) {

_context2.next = 6;
return (0, _cleanKey2.default)(schema, 'car.tags', { name: 12 });
return (0, _cleanKey["default"])(schema, 'car.tags', {
name: 12
});
case 6:
_context2.t1 = _context2.sent;
_context2.t2 = [{ name: '12' }];
(0, _context2.t0)(_context2.t1).toEqual(_context2.t2);
_context2.t3 = expect;
_context2.next = 12;
return (0, _cleanKey2.default)(schema, 'car.brand', 'Nissan');
(0, _context2.t0)(_context2.t1).toEqual([{
name: '12'
}]);
_context2.t2 = expect;
_context2.next = 11;
return (0, _cleanKey["default"])(schema, 'car.brand', 'Nissan');
case 12:
_context2.t4 = _context2.sent;
(0, _context2.t3)(_context2.t4).toBe('Nissan');
_context2.t5 = expect;
_context2.next = 17;
return (0, _cleanKey2.default)(schema, 'car.tags', 'Nice');
case 11:
_context2.t3 = _context2.sent;
(0, _context2.t2)(_context2.t3).toBe('Nissan');
_context2.t4 = expect;
_context2.next = 16;
return (0, _cleanKey["default"])(schema, 'car.tags', 'Nice');
case 17:
_context2.t6 = _context2.sent;
_context2.t7 = ['Nice'];
(0, _context2.t5)(_context2.t6).toEqual(_context2.t7);
case 16:
_context2.t5 = _context2.sent;
(0, _context2.t4)(_context2.t5).toEqual(['Nice']);
_context2.t6 = expect;
_context2.next = 21;
return (0, _cleanKey["default"])(schema, 'car.tags.$.name', 12);
case 21:
_context2.t7 = _context2.sent;
(0, _context2.t6)(_context2.t7).toBe('12');
_context2.t8 = expect;
_context2.next = 23;
return (0, _cleanKey2.default)(schema, 'car.tags.$.name', 12);
_context2.next = 26;
return (0, _cleanKey["default"])(schema, 'car.tags.100.name', 12);
case 23:
case 26:
_context2.t9 = _context2.sent;
(0, _context2.t8)(_context2.t9).toBe('12');
_context2.t10 = expect;
_context2.next = 28;
return (0, _cleanKey2.default)(schema, 'car.tags.100.name', 12);
case 28:
_context2.t11 = _context2.sent;
(0, _context2.t10)(_context2.t11).toBe('12');
case 30:
case 'end':
case "end":
return _context2.stop();
}
}
}, _callee2, undefined);
}, _callee2);
})));
test('filters keys not in schema', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
test('filters keys not in schema', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
var schema;

@@ -126,18 +125,16 @@ return regeneratorRuntime.wrap(function _callee3$(_context3) {

_context3.next = 4;
return (0, _cleanKey2.default)(schema, 'person.name', 'Nicolás');
return (0, _cleanKey["default"])(schema, 'person.name', 'Nicolás');
case 4:
_context3.t1 = _context3.sent;
_context3.t2 = undefined;
(0, _context3.t0)(_context3.t1).toBe(_context3.t2);
(0, _context3.t0)(_context3.t1).toBe(undefined);
case 7:
case 'end':
case 6:
case "end":
return _context3.stop();
}
}
}, _callee3, undefined);
}, _callee3);
})));
test('dont filter keys not in schema if specified', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
test('dont filter keys not in schema if specified', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
var schema;

@@ -155,3 +152,5 @@ return regeneratorRuntime.wrap(function _callee4$(_context4) {

_context4.next = 4;
return (0, _cleanKey2.default)(schema, 'person.name', 'Nicolás', { filter: false });
return (0, _cleanKey["default"])(schema, 'person.name', 'Nicolás', {
filter: false
});

@@ -163,10 +162,9 @@ case 4:

case 6:
case 'end':
case "end":
return _context4.stop();
}
}
}, _callee4, undefined);
}, _callee4);
})));
test('clean blackbox key', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
test('clean blackbox key', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
var schema;

@@ -184,3 +182,3 @@ return regeneratorRuntime.wrap(function _callee5$(_context5) {

_context5.next = 4;
return (0, _cleanKey2.default)(schema, 'services.password', '123456');
return (0, _cleanKey["default"])(schema, 'services.password', '123456');

@@ -192,10 +190,9 @@ case 4:

case 6:
case 'end':
case "end":
return _context5.stop();
}
}
}, _callee5, undefined);
}, _callee5);
})));
test('clean key with custom clean function', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
test('clean key with custom clean function', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
var calls, schema;

@@ -210,8 +207,11 @@ return regeneratorRuntime.wrap(function _callee6$(_context6) {

type: {
password: { type: String },
password: {
type: String
},
__clean: function __clean(_ref7) {
var password = _ref7.password;
calls++;
return { password: password.slice(0, 2) };
return {
password: password.slice(0, 2)
};
}

@@ -223,20 +223,21 @@ }

_context6.next = 5;
return (0, _cleanKey2.default)(schema, 'services', { password: '123456' });
return (0, _cleanKey["default"])(schema, 'services', {
password: '123456'
});
case 5:
_context6.t1 = _context6.sent;
_context6.t2 = { password: '12' };
(0, _context6.t0)(_context6.t1).toEqual(_context6.t2);
(0, _context6.t0)(_context6.t1).toEqual({
password: '12'
});
expect(calls).toBe(1);
case 9:
case 'end':
case 8:
case "end":
return _context6.stop();
}
}
}, _callee6, undefined);
}, _callee6);
})));
test('should handle $ correctly', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {
test('should handle $ correctly', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {
var Email, user, cleaned;

@@ -261,18 +262,16 @@ return regeneratorRuntime.wrap(function _callee7$(_context7) {

_context7.next = 4;
return (0, _cleanKey2.default)(user, 'emails.$.verified', 'true');
return (0, _cleanKey["default"])(user, 'emails.$.verified', 'true');
case 4:
cleaned = _context7.sent;
expect(cleaned).toEqual(true);
case 6:
case 'end':
case "end":
return _context7.stop();
}
}
}, _callee7, undefined);
}, _callee7);
})));
test('should inject doc on cleanKey', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {
test('should inject doc on cleanKey', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {
var item, user, cleaned;

@@ -283,3 +282,5 @@ return regeneratorRuntime.wrap(function _callee8$(_context8) {

case 0:
item = { data: 20 };
item = {
data: 20
};
user = {

@@ -290,3 +291,2 @@ data: {

var doc = _ref10.doc;
console.log(value, doc);

@@ -299,17 +299,17 @@ expect(doc).toEqual(item);

_context8.next = 4;
return (0, _cleanKey2.default)(user, 'data', item.data, { forceDoc: item });
return (0, _cleanKey["default"])(user, 'data', item.data, {
forceDoc: item
});
case 4:
cleaned = _context8.sent;
expect(cleaned).toBe('20');
expect.assertions(2);
case 7:
case 'end':
case "end":
return _context8.stop();
}
}
}, _callee8, undefined);
}, _callee8);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = void 0;
var _dotGetSchema = require('./validateKey/dotGetSchema');
var _dotGetSchema = _interopRequireDefault(require("./validateKey/dotGetSchema"));
var _dotGetSchema2 = _interopRequireDefault(_dotGetSchema);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _dotGetSchema2.default;
var _default = _dotGetSchema["default"];
exports["default"] = _default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,3 +6,4 @@ Object.defineProperty(exports, "__esModule", {

});
exports.default = {
exports["default"] = void 0;
var _default = {
NOT_IN_SCHEMA: 'notInSchema',

@@ -26,2 +27,3 @@ REQUIRED: 'required',

NOT_AN_ALLOWED_VALUE: 'notAnAllowedValue'
};
};
exports["default"] = _default;

@@ -6,7 +6,14 @@ "use strict";

});
exports["default"] = _default;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
function _default(_ref) {

@@ -18,3 +25,3 @@ var name = _ref.name,

return _extends({}, otherFields, {
return _objectSpread(_objectSpread({}, otherFields), {}, {
name: name,

@@ -27,2 +34,3 @@ validate: function validate(value) {

}
return _validate(value, info);

@@ -36,11 +44,11 @@ },

}
if (_clean) {
return _clean(value, info);
}
return value;
},
_isFieldType: true
});
}
exports.default = _default;
}

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,21 +6,16 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = void 0;
var _fieldType = require('../fieldType');
var _fieldType = _interopRequireDefault(require("../fieldType"));
var _fieldType2 = _interopRequireDefault(_fieldType);
var _isArray = _interopRequireDefault(require("lodash/isArray"));
var _isArray = require('lodash/isArray');
var _Errors = _interopRequireDefault(require("../Errors"));
var _isArray2 = _interopRequireDefault(_isArray);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors = require('../Errors');
var _Errors2 = _interopRequireDefault(_Errors);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _fieldType2.default)({
var _default = (0, _fieldType["default"])({
name: 'array',
validate: function validate(value) {
if (!(0, _isArray2.default)(value)) return _Errors2.default.NOT_AN_ARRAY;
if (!(0, _isArray["default"])(value)) return _Errors["default"].NOT_AN_ARRAY;
},

@@ -31,3 +26,3 @@ clean: function clean(value, _ref) {

if (options.autoConvert) {
if (!(0, _isArray2.default)(value)) {
if (!(0, _isArray["default"])(value)) {
value = [value];

@@ -39,2 +34,4 @@ }

}
});
});
exports["default"] = _default;

@@ -1,16 +0,14 @@

'use strict';
"use strict";
var _array = require('./array');
var _array = _interopRequireDefault(require("./array"));
var _array2 = _interopRequireDefault(_array);
var _Errors = _interopRequireDefault(require("../Errors"));
var _Errors = require('../Errors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors2 = _interopRequireDefault(_Errors);
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
it('should convert a single item into and array when cleaning', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
it('should convert a single item into and array when cleaning', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var options;

@@ -21,17 +19,29 @@ return regeneratorRuntime.wrap(function _callee$(_context) {

case 0:
options = { autoConvert: true };
options = {
autoConvert: true
};
expect(_array["default"].clean('a string', {
options: options
})).toEqual(['a string']);
expect(_array["default"].clean({
anObject: true
}, {
options: options
})).toEqual([{
anObject: true
}]);
expect(_array["default"].clean({
anObject: true
})).toEqual({
anObject: true
});
expect(_array2.default.clean('a string', { options: options })).toEqual(['a string']);
expect(_array2.default.clean({ anObject: true }, { options: options })).toEqual([{ anObject: true }]);
expect(_array2.default.clean({ anObject: true })).toEqual({ anObject: true });
case 4:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('return an error when the value is incorrect', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('return an error when the value is incorrect', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
return regeneratorRuntime.wrap(function _callee2$(_context2) {

@@ -41,15 +51,16 @@ while (1) {

case 0:
expect(_array2.default.validate('a string')).toBe(_Errors2.default.NOT_AN_ARRAY);
expect(_array2.default.validate(new Date())).toBe(_Errors2.default.NOT_AN_ARRAY);
expect(_array2.default.validate({ anObject: true })).toBe(_Errors2.default.NOT_AN_ARRAY);
expect(_array["default"].validate('a string')).toBe(_Errors["default"].NOT_AN_ARRAY);
expect(_array["default"].validate(new Date())).toBe(_Errors["default"].NOT_AN_ARRAY);
expect(_array["default"].validate({
anObject: true
})).toBe(_Errors["default"].NOT_AN_ARRAY);
case 3:
case 'end':
case "end":
return _context2.stop();
}
}
}, _callee2, undefined);
}, _callee2);
})));
test('return no error when the value is correct', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
test('return no error when the value is correct', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
return regeneratorRuntime.wrap(function _callee3$(_context3) {

@@ -59,11 +70,11 @@ while (1) {

case 0:
expect(_array2.default.validate(['hello'])).toBeFalsy();
expect(_array2.default.validate([])).toBeFalsy();
expect(_array["default"].validate(['hello'])).toBeFalsy();
expect(_array["default"].validate([])).toBeFalsy();
case 2:
case 'end':
case "end":
return _context3.stop();
}
}
}, _callee3, undefined);
}, _callee3);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,22 +6,19 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = void 0;
var _fieldType = require('../fieldType');
var _fieldType = _interopRequireDefault(require("../fieldType"));
var _fieldType2 = _interopRequireDefault(_fieldType);
var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject"));
var _isPlainObject = require('lodash/isPlainObject');
var _Errors = _interopRequireDefault(require("../Errors"));
var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors = require('../Errors');
var _Errors2 = _interopRequireDefault(_Errors);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _fieldType2.default)({
var _default = (0, _fieldType["default"])({
name: 'blackbox',
validate: function validate(value) {
if (!(0, _isPlainObject2.default)(value)) return _Errors2.default.NOT_AN_OBJECT;
if (!(0, _isPlainObject["default"])(value)) return _Errors["default"].NOT_AN_OBJECT;
}
});
});
exports["default"] = _default;

@@ -1,16 +0,14 @@

'use strict';
"use strict";
var _blackbox = require('./blackbox');
var _blackbox = _interopRequireDefault(require("./blackbox"));
var _blackbox2 = _interopRequireDefault(_blackbox);
var _Errors = _interopRequireDefault(require("../Errors"));
var _Errors = require('../Errors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors2 = _interopRequireDefault(_Errors);
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
test('return an error when the value is incorrect', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
test('return an error when the value is incorrect', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
return regeneratorRuntime.wrap(function _callee$(_context) {

@@ -20,15 +18,14 @@ while (1) {

case 0:
expect(_blackbox2.default.validate('a string')).toBe(_Errors2.default.NOT_AN_OBJECT);
expect(_blackbox2.default.validate(new Date())).toBe(_Errors2.default.NOT_AN_OBJECT);
expect(_blackbox2.default.validate([])).toBe(_Errors2.default.NOT_AN_OBJECT);
expect(_blackbox["default"].validate('a string')).toBe(_Errors["default"].NOT_AN_OBJECT);
expect(_blackbox["default"].validate(new Date())).toBe(_Errors["default"].NOT_AN_OBJECT);
expect(_blackbox["default"].validate([])).toBe(_Errors["default"].NOT_AN_OBJECT);
case 3:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('return no error when the value is correct', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('return no error when the value is correct', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
return regeneratorRuntime.wrap(function _callee2$(_context2) {

@@ -38,11 +35,15 @@ while (1) {

case 0:
expect(_blackbox2.default.validate({ name: null })).toBeFalsy();
expect(_blackbox2.default.validate({ name: 'Nicolás' })).toBeFalsy();
expect(_blackbox["default"].validate({
name: null
})).toBeFalsy();
expect(_blackbox["default"].validate({
name: 'Nicolás'
})).toBeFalsy();
case 2:
case 'end':
case "end":
return _context2.stop();
}
}
}, _callee2, undefined);
}, _callee2);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,21 +6,16 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = void 0;
var _fieldType = require('../fieldType');
var _fieldType = _interopRequireDefault(require("../fieldType"));
var _fieldType2 = _interopRequireDefault(_fieldType);
var _isBoolean = _interopRequireDefault(require("lodash/isBoolean"));
var _isBoolean = require('lodash/isBoolean');
var _Errors = _interopRequireDefault(require("../Errors"));
var _isBoolean2 = _interopRequireDefault(_isBoolean);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors = require('../Errors');
var _Errors2 = _interopRequireDefault(_Errors);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _fieldType2.default)({
var _default = (0, _fieldType["default"])({
name: 'boolean',
validate: function validate(value) {
if (!(0, _isBoolean2.default)(value)) return _Errors2.default.NOT_A_BOOLEAN;
if (!(0, _isBoolean["default"])(value)) return _Errors["default"].NOT_A_BOOLEAN;
},

@@ -35,2 +30,3 @@ clean: function clean(value, _ref) {

}
if (value === 'false') {

@@ -40,2 +36,3 @@ value = false;

}
if (typeof value === 'number') {

@@ -52,2 +49,4 @@ if (value === 0) {

}
});
});
exports["default"] = _default;

@@ -1,16 +0,14 @@

'use strict';
"use strict";
var _boolean = require('./boolean');
var _boolean2 = _interopRequireDefault(require("./boolean"));
var _boolean2 = _interopRequireDefault(_boolean);
var _Errors = _interopRequireDefault(require("../Errors"));
var _Errors = require('../Errors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors2 = _interopRequireDefault(_Errors);
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
test('return an error when the value is incorrect', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
test('return an error when the value is incorrect', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
return regeneratorRuntime.wrap(function _callee$(_context) {

@@ -20,18 +18,19 @@ while (1) {

case 0:
expect(_boolean2.default.validate(['Hello'])).toBe(_Errors2.default.NOT_A_BOOLEAN);
expect(_boolean2.default.validate({ name: 'Nicolás' })).toBe(_Errors2.default.NOT_A_BOOLEAN);
expect(_boolean2.default.validate(new Date())).toBe(_Errors2.default.NOT_A_BOOLEAN);
expect(_boolean2.default.validate(1)).toBe(_Errors2.default.NOT_A_BOOLEAN);
expect(_boolean2.default.validate(true)).toBeFalsy();
expect(_boolean2.default.validate(false)).toBeFalsy();
expect(_boolean2["default"].validate(['Hello'])).toBe(_Errors["default"].NOT_A_BOOLEAN);
expect(_boolean2["default"].validate({
name: 'Nicolás'
})).toBe(_Errors["default"].NOT_A_BOOLEAN);
expect(_boolean2["default"].validate(new Date())).toBe(_Errors["default"].NOT_A_BOOLEAN);
expect(_boolean2["default"].validate(1)).toBe(_Errors["default"].NOT_A_BOOLEAN);
expect(_boolean2["default"].validate(true)).toBeFalsy();
expect(_boolean2["default"].validate(false)).toBeFalsy();
case 6:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('autoconvert', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('autoconvert', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
var info;

@@ -42,20 +41,23 @@ return regeneratorRuntime.wrap(function _callee2$(_context2) {

case 0:
info = { options: { autoConvert: true } };
info = {
options: {
autoConvert: true
}
};
expect(_boolean2["default"].clean('hello', info)).toBe('hello');
expect(_boolean2["default"].clean('true', info)).toBe(true);
expect(_boolean2["default"].clean('false', info)).toBe(false);
expect(_boolean2["default"].clean(1, info)).toBe(true);
expect(_boolean2["default"].clean(0, info)).toBe(false);
expect(_boolean2["default"].clean(true, info)).toBe(true);
expect(_boolean2["default"].clean(false, info)).toBe(false); // dont autoconvert
expect(_boolean2.default.clean('hello', info)).toBe('hello');
expect(_boolean2.default.clean('true', info)).toBe(true);
expect(_boolean2.default.clean('false', info)).toBe(false);
expect(_boolean2.default.clean(1, info)).toBe(true);
expect(_boolean2.default.clean(0, info)).toBe(false);
expect(_boolean2.default.clean(true, info)).toBe(true);
expect(_boolean2.default.clean(false, info)).toBe(false);
// dont autoconvert
expect(_boolean2.default.clean('false')).toBe('false');
expect(_boolean2["default"].clean('false')).toBe('false');
case 9:
case 'end':
case "end":
return _context2.stop();
}
}
}, _callee2, undefined);
}, _callee2);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,29 +6,20 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = void 0;
var _fieldType = require('../fieldType');
var _fieldType = _interopRequireDefault(require("../fieldType"));
var _fieldType2 = _interopRequireDefault(_fieldType);
var _isDate = _interopRequireDefault(require("lodash/isDate"));
var _isDate = require('lodash/isDate');
var _Errors = _interopRequireDefault(require("../Errors"));
var _isDate2 = _interopRequireDefault(_isDate);
var _isString = _interopRequireDefault(require("lodash/isString"));
var _Errors = require('../Errors');
var _isNumber = _interopRequireDefault(require("lodash/isNumber"));
var _Errors2 = _interopRequireDefault(_Errors);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _isString = require('lodash/isString');
var _isString2 = _interopRequireDefault(_isString);
var _isNumber = require('lodash/isNumber');
var _isNumber2 = _interopRequireDefault(_isNumber);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _fieldType2.default)({
var _default = (0, _fieldType["default"])({
name: 'date',
validate: function validate(value) {
if (!(0, _isDate2.default)(value)) return _Errors2.default.NOT_A_DATE;
if (!(0, _isDate["default"])(value)) return _Errors["default"].NOT_A_DATE;
},

@@ -39,4 +30,5 @@ clean: function clean(value, _ref) {

if (options.autoConvert) {
if ((0, _isString2.default)(value)) {
if ((0, _isString["default"])(value)) {
var result = new Date(value);
if (isNaN(result.getTime())) {

@@ -47,4 +39,5 @@ return value;

value = result;
} else if ((0, _isNumber2.default)(value)) {
} else if ((0, _isNumber["default"])(value)) {
var _result = new Date(value);
if (isNaN(_result.getTime())) {

@@ -60,2 +53,4 @@ return value;

}
});
});
exports["default"] = _default;

@@ -1,16 +0,14 @@

'use strict';
"use strict";
var _date = require('./date');
var _date = _interopRequireDefault(require("./date"));
var _date2 = _interopRequireDefault(_date);
var _Errors = _interopRequireDefault(require("../Errors"));
var _Errors = require('../Errors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors2 = _interopRequireDefault(_Errors);
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
test('return an error when the value is incorrect', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
test('return an error when the value is incorrect', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
return regeneratorRuntime.wrap(function _callee$(_context) {

@@ -20,16 +18,17 @@ while (1) {

case 0:
expect(_date2.default.validate(['Hello'])).toBe(_Errors2.default.NOT_A_DATE);
expect(_date2.default.validate({ name: 'Nicolás' })).toBe(_Errors2.default.NOT_A_DATE);
expect(_date2.default.validate('A real string')).toBe(_Errors2.default.NOT_A_DATE);
expect(_date2.default.validate(1234)).toBe(_Errors2.default.NOT_A_DATE);
expect(_date["default"].validate(['Hello'])).toBe(_Errors["default"].NOT_A_DATE);
expect(_date["default"].validate({
name: 'Nicolás'
})).toBe(_Errors["default"].NOT_A_DATE);
expect(_date["default"].validate('A real string')).toBe(_Errors["default"].NOT_A_DATE);
expect(_date["default"].validate(1234)).toBe(_Errors["default"].NOT_A_DATE);
case 4:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('return no error when the value is correct', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('return no error when the value is correct', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
return regeneratorRuntime.wrap(function _callee2$(_context2) {

@@ -39,13 +38,12 @@ while (1) {

case 0:
expect(_date2.default.validate(new Date())).toBeFalsy();
expect(_date["default"].validate(new Date())).toBeFalsy();
case 1:
case 'end':
case "end":
return _context2.stop();
}
}
}, _callee2, undefined);
}, _callee2);
})));
test('dont autoConvert if not specified', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
test('dont autoConvert if not specified', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
var info;

@@ -56,15 +54,17 @@ return regeneratorRuntime.wrap(function _callee3$(_context3) {

case 0:
info = { options: { autoConvert: false } };
info = {
options: {
autoConvert: false
}
};
expect(_date["default"].clean('2018-07-21T16:00:00.000Z', info)).toBe('2018-07-21T16:00:00.000Z');
expect(_date2.default.clean('2018-07-21T16:00:00.000Z', info)).toBe('2018-07-21T16:00:00.000Z');
case 2:
case 'end':
case "end":
return _context3.stop();
}
}
}, _callee3, undefined);
}, _callee3);
})));
test('return the same type if invalid is passed', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
test('return the same type if invalid is passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
var info;

@@ -75,15 +75,17 @@ return regeneratorRuntime.wrap(function _callee4$(_context4) {

case 0:
info = { options: { autoConvert: true } };
info = {
options: {
autoConvert: true
}
};
expect(_date["default"].clean([123], info)).toEqual([123]);
expect(_date2.default.clean([123], info)).toEqual([123]);
case 2:
case 'end':
case "end":
return _context4.stop();
}
}
}, _callee4, undefined);
}, _callee4);
})));
test('clean string types', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
test('clean string types', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
var info;

@@ -94,15 +96,17 @@ return regeneratorRuntime.wrap(function _callee5$(_context5) {

case 0:
info = { options: { autoConvert: true } };
info = {
options: {
autoConvert: true
}
};
expect(_date["default"].clean('2018-07-21T16:00:00.000Z', info)).toEqual(new Date('2018-07-21T16:00:00.000Z'));
expect(_date2.default.clean('2018-07-21T16:00:00.000Z', info)).toEqual(new Date('2018-07-21T16:00:00.000Z'));
case 2:
case 'end':
case "end":
return _context5.stop();
}
}
}, _callee5, undefined);
}, _callee5);
})));
test('clean number types', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
test('clean number types', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
var info;

@@ -113,15 +117,17 @@ return regeneratorRuntime.wrap(function _callee6$(_context6) {

case 0:
info = { options: { autoConvert: true } };
info = {
options: {
autoConvert: true
}
};
expect(_date["default"].clean(1532188800000, info)).toEqual(new Date('2018-07-21T16:00:00.000Z'));
expect(_date2.default.clean(1532188800000, info)).toEqual(new Date('2018-07-21T16:00:00.000Z'));
case 2:
case 'end':
case "end":
return _context6.stop();
}
}
}, _callee6, undefined);
}, _callee6);
})));
test('return the same value when invalid types are passed', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {
test('return the same value when invalid types are passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {
var info;

@@ -132,13 +138,16 @@ return regeneratorRuntime.wrap(function _callee7$(_context7) {

case 0:
info = { options: { autoConvert: true } };
info = {
options: {
autoConvert: true
}
};
expect(_date["default"].clean('Nicolás', info)).toBe('Nicolás');
expect(_date["default"].clean(1532188800000000000, info)).toBe(1532188800000000000);
expect(_date2.default.clean('Nicolás', info)).toBe('Nicolás');
expect(_date2.default.clean(1532188800000000000, info)).toBe(1532188800000000000);
case 3:
case 'end':
case "end":
return _context7.stop();
}
}
}, _callee7, undefined);
}, _callee7);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,26 +6,19 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = void 0;
var _fieldType = require('../fieldType');
var _fieldType = _interopRequireDefault(require("../fieldType"));
var _fieldType2 = _interopRequireDefault(_fieldType);
var _isString = _interopRequireDefault(require("lodash/isString"));
var _isString = require('lodash/isString');
var _Errors = _interopRequireDefault(require("../Errors"));
var _isString2 = _interopRequireDefault(_isString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors = require('../Errors');
var _Errors2 = _interopRequireDefault(_Errors);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _fieldType2.default)({
var _default = (0, _fieldType["default"])({
name: 'email',
validate: function validate(value) {
if (!(0, _isString2.default)(value)) return _Errors2.default.NOT_A_STRING;
if (!(0, _isString["default"])(value)) return _Errors["default"].NOT_A_STRING; // eslint-disable-next-line
// eslint-disable-next-line
var regex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (!regex.test(value)) return _Errors2.default.NOT_AN_EMAIL;
if (!regex.test(value)) return _Errors["default"].NOT_AN_EMAIL;
},

@@ -39,2 +32,4 @@ clean: function clean(value) {

}
});
});
exports["default"] = _default;

@@ -1,16 +0,14 @@

'use strict';
"use strict";
var _email = require('./email');
var _email = _interopRequireDefault(require("./email"));
var _email2 = _interopRequireDefault(_email);
var _Errors = _interopRequireDefault(require("../Errors"));
var _Errors = require('../Errors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors2 = _interopRequireDefault(_Errors);
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
test('return an error when the value is incorrect', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
test('return an error when the value is incorrect', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
return regeneratorRuntime.wrap(function _callee$(_context) {

@@ -20,16 +18,17 @@ while (1) {

case 0:
expect(_email2.default.validate(['Hello'])).toBe(_Errors2.default.NOT_A_STRING);
expect(_email2.default.validate({ name: 'Nicolás' })).toBe(_Errors2.default.NOT_A_STRING);
expect(_email2.default.validate(new Date())).toBe(_Errors2.default.NOT_A_STRING);
expect(_email2.default.validate('astring')).toBe(_Errors2.default.NOT_AN_EMAIL);
expect(_email["default"].validate(['Hello'])).toBe(_Errors["default"].NOT_A_STRING);
expect(_email["default"].validate({
name: 'Nicolás'
})).toBe(_Errors["default"].NOT_A_STRING);
expect(_email["default"].validate(new Date())).toBe(_Errors["default"].NOT_A_STRING);
expect(_email["default"].validate('astring')).toBe(_Errors["default"].NOT_AN_EMAIL);
case 4:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('return no error when the value is correct', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('return no error when the value is correct', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
return regeneratorRuntime.wrap(function _callee2$(_context2) {

@@ -39,10 +38,10 @@ while (1) {

case 0:
expect(_email2.default.validate('aemail@email.com')).toBeFalsy();
expect(_email["default"].validate('aemail@email.com')).toBeFalsy();
case 1:
case 'end':
case "end":
return _context2.stop();
}
}
}, _callee2, undefined);
}, _callee2);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,34 +6,24 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = void 0;
var _fieldType = require('../fieldType');
var _fieldType = _interopRequireDefault(require("../fieldType"));
var _fieldType2 = _interopRequireDefault(_fieldType);
var _isString = _interopRequireDefault(require("lodash/isString"));
var _isString = require('lodash/isString');
var _isInteger = _interopRequireDefault(require("lodash/isInteger"));
var _isString2 = _interopRequireDefault(_isString);
var _Errors = _interopRequireDefault(require("../Errors"));
var _isInteger = require('lodash/isInteger');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _isInteger2 = _interopRequireDefault(_isInteger);
var _Errors = require('../Errors');
var _Errors2 = _interopRequireDefault(_Errors);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _fieldType2.default)({
var _default = (0, _fieldType["default"])({
name: 'ID',
validate: function validate(value) {
if (!(0, _isString2.default)(value) && !(0, _isInteger2.default)(value)) return _Errors2.default.NOT_AN_ID;
if (!(0, _isString["default"])(value) && !(0, _isInteger["default"])(value)) return _Errors["default"].NOT_AN_ID;
},
clean: function clean(value, _ref) {
var options = _ref.options;
if (!(0, _isString2.default)(value) && !(0, _isInteger2.default)(value)) return value;
if (!(0, _isString["default"])(value) && !(0, _isInteger["default"])(value)) return value;
var trimStrings = options.trimStrings,
removeEmptyStrings = options.removeEmptyStrings;
value = String(value);

@@ -51,2 +41,4 @@

}
});
});
exports["default"] = _default;

@@ -1,16 +0,14 @@

'use strict';
"use strict";
var _ID = require('./ID');
var _ID = _interopRequireDefault(require("./ID"));
var _ID2 = _interopRequireDefault(_ID);
var _Errors = _interopRequireDefault(require("../Errors"));
var _Errors = require('../Errors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors2 = _interopRequireDefault(_Errors);
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
test('return an error when the value is incorrect', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
test('return an error when the value is incorrect', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
return regeneratorRuntime.wrap(function _callee$(_context) {

@@ -20,17 +18,16 @@ while (1) {

case 0:
expect(_ID2.default.validate(false)).toBe(_Errors2.default.NOT_AN_ID);
expect(_ID2.default.validate(new Date())).toBe(_Errors2.default.NOT_AN_ID);
expect(_ID2.default.validate(NaN)).toBe(_Errors2.default.NOT_AN_ID);
expect(_ID2.default.validate(1.01)).toBe(_Errors2.default.NOT_AN_ID);
expect(_ID2.default.validate(Infinity)).toBe(_Errors2.default.NOT_AN_ID);
expect(_ID["default"].validate(false)).toBe(_Errors["default"].NOT_AN_ID);
expect(_ID["default"].validate(new Date())).toBe(_Errors["default"].NOT_AN_ID);
expect(_ID["default"].validate(NaN)).toBe(_Errors["default"].NOT_AN_ID);
expect(_ID["default"].validate(1.01)).toBe(_Errors["default"].NOT_AN_ID);
expect(_ID["default"].validate(Infinity)).toBe(_Errors["default"].NOT_AN_ID);
case 5:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('return no error when the value is correct', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('return no error when the value is correct', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
return regeneratorRuntime.wrap(function _callee2$(_context2) {

@@ -40,12 +37,12 @@ while (1) {

case 0:
expect(_ID2.default.clean(1234)).toBe('1234');
expect(_ID2.default.validate('helloworld')).toBeFalsy();
expect(_ID2.default.validate('123456')).toBeFalsy();
expect(_ID["default"].clean(1234)).toBe('1234');
expect(_ID["default"].validate('helloworld')).toBeFalsy();
expect(_ID["default"].validate('123456')).toBeFalsy();
case 3:
case 'end':
case "end":
return _context2.stop();
}
}
}, _callee2, undefined);
}, _callee2);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,56 +6,38 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = void 0;
var _array = require('./array');
var _array = _interopRequireDefault(require("./array"));
var _array2 = _interopRequireDefault(_array);
var _plainObject = _interopRequireDefault(require("./plainObject"));
var _plainObject = require('./plainObject');
var _string = _interopRequireDefault(require("./string"));
var _plainObject2 = _interopRequireDefault(_plainObject);
var _date = _interopRequireDefault(require("./date"));
var _string = require('./string');
var _integer = _interopRequireDefault(require("./integer"));
var _string2 = _interopRequireDefault(_string);
var _number = _interopRequireDefault(require("./number"));
var _date = require('./date');
var _ID = _interopRequireDefault(require("./ID"));
var _date2 = _interopRequireDefault(_date);
var _boolean2 = _interopRequireDefault(require("./boolean"));
var _integer = require('./integer');
var _email = _interopRequireDefault(require("./email"));
var _integer2 = _interopRequireDefault(_integer);
var _blackbox = _interopRequireDefault(require("./blackbox"));
var _number = require('./number');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _number2 = _interopRequireDefault(_number);
var _ID = require('./ID');
var _ID2 = _interopRequireDefault(_ID);
var _boolean = require('./boolean');
var _boolean2 = _interopRequireDefault(_boolean);
var _email = require('./email');
var _email2 = _interopRequireDefault(_email);
var _blackbox = require('./blackbox');
var _blackbox2 = _interopRequireDefault(_blackbox);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
array: _array2.default,
plainObject: _plainObject2.default,
string: _string2.default,
date: _date2.default,
integer: _integer2.default,
number: _number2.default,
ID: _ID2.default,
boolean: _boolean2.default,
email: _email2.default,
blackbox: _blackbox2.default
};
var _default = {
array: _array["default"],
plainObject: _plainObject["default"],
string: _string["default"],
date: _date["default"],
integer: _integer["default"],
number: _number["default"],
ID: _ID["default"],
"boolean": _boolean2["default"],
email: _email["default"],
blackbox: _blackbox["default"]
};
exports["default"] = _default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,27 +6,22 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = void 0;
var _fieldType = require('../fieldType');
var _fieldType = _interopRequireDefault(require("../fieldType"));
var _fieldType2 = _interopRequireDefault(_fieldType);
var _isInteger = _interopRequireDefault(require("lodash/isInteger"));
var _isInteger = require('lodash/isInteger');
var _Errors = _interopRequireDefault(require("../Errors"));
var _isInteger2 = _interopRequireDefault(_isInteger);
var _number = _interopRequireDefault(require("./number"));
var _Errors = require('../Errors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors2 = _interopRequireDefault(_Errors);
var _number = require('./number');
var _number2 = _interopRequireDefault(_number);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _fieldType2.default)({
var _default = (0, _fieldType["default"])({
name: 'integer',
validate: function validate(value, info) {
if (!(0, _isInteger2.default)(value)) return _Errors2.default.NOT_AN_INTEGER;
return _number2.default.validate(value, info);
if (!(0, _isInteger["default"])(value)) return _Errors["default"].NOT_AN_INTEGER;
return _number["default"].validate(value, info);
}
});
});
exports["default"] = _default;

@@ -1,16 +0,14 @@

'use strict';
"use strict";
var _integer = require('./integer');
var _integer = _interopRequireDefault(require("./integer"));
var _integer2 = _interopRequireDefault(_integer);
var _Errors = _interopRequireDefault(require("../Errors"));
var _Errors = require('../Errors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors2 = _interopRequireDefault(_Errors);
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
test('return an error when the value is incorrect', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
test('return an error when the value is incorrect', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
return regeneratorRuntime.wrap(function _callee$(_context) {

@@ -20,16 +18,15 @@ while (1) {

case 0:
expect(_integer2.default.validate('1234')).toBe(_Errors2.default.NOT_AN_INTEGER);
expect(_integer2.default.validate(12.24)).toBe(_Errors2.default.NOT_AN_INTEGER);
expect(_integer2.default.validate(NaN)).toBe(_Errors2.default.NOT_AN_INTEGER);
expect(_integer2.default.validate(Infinity)).toBe(_Errors2.default.NOT_AN_INTEGER);
expect(_integer["default"].validate('1234')).toBe(_Errors["default"].NOT_AN_INTEGER);
expect(_integer["default"].validate(12.24)).toBe(_Errors["default"].NOT_AN_INTEGER);
expect(_integer["default"].validate(NaN)).toBe(_Errors["default"].NOT_AN_INTEGER);
expect(_integer["default"].validate(Infinity)).toBe(_Errors["default"].NOT_AN_INTEGER);
case 4:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('return no error when the value is correct', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('return no error when the value is correct', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
return regeneratorRuntime.wrap(function _callee2$(_context2) {

@@ -39,12 +36,12 @@ while (1) {

case 0:
expect(_integer2.default.validate(99999999999999999999999)).toBeFalsy();
expect(_integer2.default.validate(0)).toBeFalsy();
expect(_integer2.default.validate(10 * 10)).toBeFalsy();
expect(_integer["default"].validate(99999999999999999999999)).toBeFalsy();
expect(_integer["default"].validate(0)).toBeFalsy();
expect(_integer["default"].validate(10 * 10)).toBeFalsy();
case 3:
case 'end':
case "end":
return _context2.stop();
}
}
}, _callee2, undefined);
}, _callee2);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,37 +6,29 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = void 0;
var _fieldType = require('../fieldType');
var _fieldType = _interopRequireDefault(require("../fieldType"));
var _fieldType2 = _interopRequireDefault(_fieldType);
var _isFinite = _interopRequireDefault(require("lodash/isFinite"));
var _isFinite = require('lodash/isFinite');
var _Errors = _interopRequireDefault(require("../Errors"));
var _isFinite2 = _interopRequireDefault(_isFinite);
var _toNumber = _interopRequireDefault(require("lodash/toNumber"));
var _Errors = require('../Errors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors2 = _interopRequireDefault(_Errors);
var _toNumber = require('lodash/toNumber');
var _toNumber2 = _interopRequireDefault(_toNumber);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _fieldType2.default)({
var _default = (0, _fieldType["default"])({
name: 'number',
validate: function validate(value, _ref) {
var currentSchema = _ref.currentSchema;
if (!(0, _isFinite["default"])(value)) return _Errors["default"].NOT_A_NUMBER;
if (!(0, _isFinite2.default)(value)) return _Errors2.default.NOT_A_NUMBER;
if ((0, _isFinite2.default)(currentSchema.min)) {
if ((0, _isFinite["default"])(currentSchema.min)) {
if (value < currentSchema.min) {
return _Errors2.default.NUMBER_TOO_SMALL;
return _Errors["default"].NUMBER_TOO_SMALL;
}
}
if ((0, _isFinite2.default)(currentSchema.max)) {
if ((0, _isFinite["default"])(currentSchema.max)) {
if (value > currentSchema.max) {
return _Errors2.default.NUMBER_TOO_BIG;
return _Errors["default"].NUMBER_TOO_BIG;
}

@@ -49,3 +41,3 @@ }

if (typeof value === 'string' && autoConvert) {
value = (0, _toNumber2.default)(value);
value = (0, _toNumber["default"])(value);
}

@@ -55,2 +47,4 @@

}
});
});
exports["default"] = _default;

@@ -1,16 +0,14 @@

'use strict';
"use strict";
var _number = require('./number');
var _number = _interopRequireDefault(require("./number"));
var _number2 = _interopRequireDefault(_number);
var _Errors = _interopRequireDefault(require("../Errors"));
var _Errors = require('../Errors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors2 = _interopRequireDefault(_Errors);
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
test('return an error when the value is incorrect', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
test('return an error when the value is incorrect', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
return regeneratorRuntime.wrap(function _callee$(_context) {

@@ -20,17 +18,16 @@ while (1) {

case 0:
expect(_number2.default.validate('1234')).toBe(_Errors2.default.NOT_A_NUMBER);
expect(_number2.default.validate(new Date())).toBe(_Errors2.default.NOT_A_NUMBER);
expect(_number2.default.validate([123])).toBe(_Errors2.default.NOT_A_NUMBER);
expect(_number2.default.validate(NaN)).toBe(_Errors2.default.NOT_A_NUMBER);
expect(_number2.default.validate(Infinity)).toBe(_Errors2.default.NOT_A_NUMBER);
expect(_number["default"].validate('1234')).toBe(_Errors["default"].NOT_A_NUMBER);
expect(_number["default"].validate(new Date())).toBe(_Errors["default"].NOT_A_NUMBER);
expect(_number["default"].validate([123])).toBe(_Errors["default"].NOT_A_NUMBER);
expect(_number["default"].validate(NaN)).toBe(_Errors["default"].NOT_A_NUMBER);
expect(_number["default"].validate(Infinity)).toBe(_Errors["default"].NOT_A_NUMBER);
case 5:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('return no error when the value is correct', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('return no error when the value is correct', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
return regeneratorRuntime.wrap(function _callee2$(_context2) {

@@ -40,15 +37,14 @@ while (1) {

case 0:
expect(_number2.default.validate(99999999999999999999999)).toBeFalsy();
expect(_number2.default.validate(10 / 3)).toBeFalsy();
expect(_number2.default.validate(10 * 10)).toBeFalsy();
expect(_number["default"].validate(99999999999999999999999)).toBeFalsy();
expect(_number["default"].validate(10 / 3)).toBeFalsy();
expect(_number["default"].validate(10 * 10)).toBeFalsy();
case 3:
case 'end':
case "end":
return _context2.stop();
}
}
}, _callee2, undefined);
}, _callee2);
})));
test('validate correctly min and max', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
test('validate correctly min and max', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
var info;

@@ -59,14 +55,18 @@ return regeneratorRuntime.wrap(function _callee3$(_context3) {

case 0:
info = { currentSchema: { min: 0, max: 10 } };
info = {
currentSchema: {
min: 0,
max: 10
}
};
expect(_number["default"].validate(10, info)).toBeFalsy();
expect(_number["default"].validate(-10, info)).toBe(_Errors["default"].NUMBER_TOO_SMALL);
expect(_number["default"].validate(10.1, info)).toBe(_Errors["default"].NUMBER_TOO_BIG);
expect(_number2.default.validate(10, info)).toBeFalsy();
expect(_number2.default.validate(-10, info)).toBe(_Errors2.default.NUMBER_TOO_SMALL);
expect(_number2.default.validate(10.1, info)).toBe(_Errors2.default.NUMBER_TOO_BIG);
case 4:
case 'end':
case "end":
return _context3.stop();
}
}
}, _callee3, undefined);
}, _callee3);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,25 +6,24 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = void 0;
var _fieldType = require('../fieldType');
var _fieldType = _interopRequireDefault(require("../fieldType"));
var _fieldType2 = _interopRequireDefault(_fieldType);
var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject"));
var _isPlainObject = require('lodash/isPlainObject');
var _Errors = _interopRequireDefault(require("../Errors"));
var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
var _difference = _interopRequireDefault(require("lodash/difference"));
var _Errors = require('../Errors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors2 = _interopRequireDefault(_Errors);
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
var _difference = require('lodash/difference');
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
var _difference2 = _interopRequireDefault(_difference);
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _fieldType2.default)({
var _default = (0, _fieldType["default"])({
name: 'plainObject',
validate: function validate(value) {
if (!(0, _isPlainObject2.default)(value)) return _Errors2.default.NOT_AN_OBJECT;
if (!(0, _isPlainObject["default"])(value)) return _Errors["default"].NOT_AN_OBJECT;
},

@@ -34,32 +33,21 @@ clean: function clean(value, _ref) {

options = _ref.options;
if (!(0, _isPlainObject["default"])(value)) return value;
if (!(0, _isPlainObject2.default)(value)) return value;
if (options.filter) {
var documentKeys = Object.keys(value);
var schemaKeys = Object.keys(type);
var notInSchemaKeys = (0, _difference2.default)(documentKeys, schemaKeys);
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
var notInSchemaKeys = (0, _difference["default"])(documentKeys, schemaKeys);
var _iterator = _createForOfIteratorHelper(notInSchemaKeys),
_step;
try {
for (var _iterator = notInSchemaKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var key = _step.value;
delete value[key];
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
_iterator.e(err);
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
_iterator.f();
}

@@ -70,2 +58,4 @@ }

}
});
});
exports["default"] = _default;

@@ -1,16 +0,14 @@

'use strict';
"use strict";
var _plainObject = require('./plainObject');
var _plainObject = _interopRequireDefault(require("./plainObject"));
var _plainObject2 = _interopRequireDefault(_plainObject);
var _Errors = _interopRequireDefault(require("../Errors"));
var _Errors = require('../Errors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors2 = _interopRequireDefault(_Errors);
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
test('return an error when the value is incorrect', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
test('return an error when the value is incorrect', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
return regeneratorRuntime.wrap(function _callee$(_context) {

@@ -20,15 +18,14 @@ while (1) {

case 0:
expect(_plainObject2.default.validate('a string')).toBe(_Errors2.default.NOT_AN_OBJECT);
expect(_plainObject2.default.validate(new Date())).toBe(_Errors2.default.NOT_AN_OBJECT);
expect(_plainObject2.default.validate([])).toBe(_Errors2.default.NOT_AN_OBJECT);
expect(_plainObject["default"].validate('a string')).toBe(_Errors["default"].NOT_AN_OBJECT);
expect(_plainObject["default"].validate(new Date())).toBe(_Errors["default"].NOT_AN_OBJECT);
expect(_plainObject["default"].validate([])).toBe(_Errors["default"].NOT_AN_OBJECT);
case 3:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('return no error when the value is correct', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('return no error when the value is correct', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
return regeneratorRuntime.wrap(function _callee2$(_context2) {

@@ -38,14 +35,15 @@ while (1) {

case 0:
expect(_plainObject2.default.validate({})).toBeFalsy();
expect(_plainObject2.default.validate({ name: 'Nicolás' })).toBeFalsy();
expect(_plainObject["default"].validate({})).toBeFalsy();
expect(_plainObject["default"].validate({
name: 'Nicolás'
})).toBeFalsy();
case 2:
case 'end':
case "end":
return _context2.stop();
}
}
}, _callee2, undefined);
}, _callee2);
})));
test('should return same value when cleaning non-object', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
test('should return same value when cleaning non-object', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
return regeneratorRuntime.wrap(function _callee3$(_context3) {

@@ -55,13 +53,12 @@ while (1) {

case 0:
expect(_plainObject2.default.clean('a string')).toBe('a string');
expect(_plainObject["default"].clean('a string')).toBe('a string');
case 1:
case 'end':
case "end":
return _context3.stop();
}
}
}, _callee3, undefined);
}, _callee3);
})));
test('should filter keys not in schema', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
test('should filter keys not in schema', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
var schema, value;

@@ -81,21 +78,23 @@ return regeneratorRuntime.wrap(function _callee4$(_context4) {

};
expect(_plainObject2.default.clean(value, {
expect(_plainObject["default"].clean(value, {
type: schema,
options: { filter: true }
options: {
filter: true
}
})).toEqual({
yes: 'yes'
});
expect(_plainObject2.default.clean(value, {
expect(_plainObject["default"].clean(value, {
type: schema,
options: { filter: false }
options: {
filter: false
}
})).toEqual(value);
case 4:
case 'end':
case "end":
return _context4.stop();
}
}
}, _callee4, undefined);
}, _callee4);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,35 +6,25 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = void 0;
var _fieldType = require('../fieldType');
var _fieldType = _interopRequireDefault(require("../fieldType"));
var _fieldType2 = _interopRequireDefault(_fieldType);
var _isString = _interopRequireDefault(require("lodash/isString"));
var _isString = require('lodash/isString');
var _Errors = _interopRequireDefault(require("../Errors"));
var _isString2 = _interopRequireDefault(_isString);
var _includes = _interopRequireDefault(require("lodash/includes"));
var _Errors = require('../Errors');
var _isArray = _interopRequireDefault(require("lodash/isArray"));
var _Errors2 = _interopRequireDefault(_Errors);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _includes = require('lodash/includes');
var _includes2 = _interopRequireDefault(_includes);
var _isArray = require('lodash/isArray');
var _isArray2 = _interopRequireDefault(_isArray);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _fieldType2.default)({
var _default = (0, _fieldType["default"])({
name: 'string',
validate: function validate(value, _ref) {
var currentSchema = _ref.currentSchema;
if (!(0, _isString["default"])(value)) return _Errors["default"].NOT_A_STRING;
if (!(0, _isString2.default)(value)) return _Errors2.default.NOT_A_STRING;
if (isFinite(currentSchema.min)) {
if (value.length < currentSchema.min) {
return _Errors2.default.STRING_TOO_SHORT;
return _Errors["default"].STRING_TOO_SHORT;
}

@@ -45,9 +35,9 @@ }

if (value.length > currentSchema.max) {
return _Errors2.default.STRING_TOO_LONG;
return _Errors["default"].STRING_TOO_LONG;
}
}
if ((0, _isArray2.default)(currentSchema.allowedValues)) {
if (!(0, _includes2.default)(currentSchema.allowedValues, value)) {
return _Errors2.default.NOT_AN_ALLOWED_VALUE;
if ((0, _isArray["default"])(currentSchema.allowedValues)) {
if (!(0, _includes["default"])(currentSchema.allowedValues, value)) {
return _Errors["default"].NOT_AN_ALLOWED_VALUE;
}

@@ -57,3 +47,3 @@ }

if (value === '' && !currentSchema.optional) {
return _Errors2.default.REQUIRED;
return _Errors["default"].REQUIRED;
}

@@ -81,2 +71,4 @@ },

}
});
});
exports["default"] = _default;

@@ -1,16 +0,14 @@

'use strict';
"use strict";
var _string = require('./string');
var _string = _interopRequireDefault(require("./string"));
var _string2 = _interopRequireDefault(_string);
var _Errors = _interopRequireDefault(require("../Errors"));
var _Errors = require('../Errors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors2 = _interopRequireDefault(_Errors);
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
test('return an error when the value is incorrect', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
test('return an error when the value is incorrect', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
return regeneratorRuntime.wrap(function _callee$(_context) {

@@ -20,15 +18,16 @@ while (1) {

case 0:
expect(_string2.default.validate(['Hello'])).toBe(_Errors2.default.NOT_A_STRING);
expect(_string2.default.validate({ name: 'Nicolás' })).toBe(_Errors2.default.NOT_A_STRING);
expect(_string2.default.validate(new Date())).toBe(_Errors2.default.NOT_A_STRING);
expect(_string["default"].validate(['Hello'])).toBe(_Errors["default"].NOT_A_STRING);
expect(_string["default"].validate({
name: 'Nicolás'
})).toBe(_Errors["default"].NOT_A_STRING);
expect(_string["default"].validate(new Date())).toBe(_Errors["default"].NOT_A_STRING);
case 3:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('return no error when the value is correct', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('return no error when the value is correct', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
var info;

@@ -39,16 +38,18 @@ return regeneratorRuntime.wrap(function _callee2$(_context2) {

case 0:
info = { currentSchema: { optional: true } };
info = {
currentSchema: {
optional: true
}
};
expect(_string["default"].validate('', info)).toBeFalsy();
expect(_string["default"].validate('Nicolás')).toBeFalsy();
expect(_string2.default.validate('', info)).toBeFalsy();
expect(_string2.default.validate('Nicolás')).toBeFalsy();
case 3:
case 'end':
case "end":
return _context2.stop();
}
}
}, _callee2, undefined);
}, _callee2);
})));
test('validate correctly min and max', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
test('validate correctly min and max', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
var info;

@@ -59,17 +60,20 @@ return regeneratorRuntime.wrap(function _callee3$(_context3) {

case 0:
info = { currentSchema: { min: 3, max: 5 } };
info = {
currentSchema: {
min: 3,
max: 5
}
};
expect(_string["default"].validate('hello', info)).toBeFalsy();
expect(_string["default"].validate('hi', info)).toBe(_Errors["default"].STRING_TOO_SHORT);
expect(_string["default"].validate('hello my friend', info)).toBe(_Errors["default"].STRING_TOO_LONG);
expect(_string2.default.validate('hello', info)).toBeFalsy();
expect(_string2.default.validate('hi', info)).toBe(_Errors2.default.STRING_TOO_SHORT);
expect(_string2.default.validate('hello my friend', info)).toBe(_Errors2.default.STRING_TOO_LONG);
case 4:
case 'end':
case "end":
return _context3.stop();
}
}
}, _callee3, undefined);
}, _callee3);
})));
test('validate correctly allowed values', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
test('validate correctly allowed values', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
var info;

@@ -80,13 +84,16 @@ return regeneratorRuntime.wrap(function _callee4$(_context4) {

case 0:
info = { currentSchema: { allowedValues: ['hello'] } };
info = {
currentSchema: {
allowedValues: ['hello']
}
};
expect(_string["default"].validate('hello', info)).toBeFalsy();
expect(_string["default"].validate('hi', info)).toBe(_Errors["default"].NOT_AN_ALLOWED_VALUE);
expect(_string2.default.validate('hello', info)).toBeFalsy();
expect(_string2.default.validate('hi', info)).toBe(_Errors2.default.NOT_AN_ALLOWED_VALUE);
case 3:
case 'end':
case "end":
return _context4.stop();
}
}
}, _callee4, undefined);
}, _callee4);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,52 +6,44 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = doValidation;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _getError = _interopRequireDefault(require("./getError"));
var _getError = require('./getError');
var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject"));
var _getError2 = _interopRequireDefault(_getError);
var _isArray = _interopRequireDefault(require("lodash/isArray"));
var _isPlainObject = require('lodash/isPlainObject');
var _clone = _interopRequireDefault(require("lodash/clone"));
var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
var _isNil = _interopRequireDefault(require("lodash/isNil"));
var _isArray = require('lodash/isArray');
var _difference = _interopRequireDefault(require("lodash/difference"));
var _isArray2 = _interopRequireDefault(_isArray);
var _Errors = _interopRequireDefault(require("../Errors"));
var _clone = require('lodash/clone');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _clone2 = _interopRequireDefault(_clone);
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
var _isNil = require('lodash/isNil');
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
var _isNil2 = _interopRequireDefault(_isNil);
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var _difference = require('lodash/difference');
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
var _difference2 = _interopRequireDefault(_difference);
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
var _Errors = require('../Errors');
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
var _Errors2 = _interopRequireDefault(_Errors);
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
function doValidation(_x) {
return _doValidation.apply(this, arguments);
}
exports.default = function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(_ref2) {
var schema = _ref2.schema,
doc = _ref2.doc,
currentDoc = _ref2.currentDoc,
value = _ref2.value,
currentSchema = _ref2.currentSchema,
_ref2$keys = _ref2.keys,
keys = _ref2$keys === undefined ? [] : _ref2$keys,
addError = _ref2.addError,
options = _ref2.options,
args = _ref2.args;
function _doValidation() {
_doValidation = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(_ref) {
var schema, doc, currentDoc, value, currentSchema, _ref$keys, keys, addError, options, args, info, error, schemaKeys, _iterator, _step, key, itemSchema, itemValue, keyItemKeys, documentKeys, notInSchemaKeys, _iterator2, _step2, _key, _keyItemKeys, _itemSchema, i, _itemValue, _keyItemKeys2;
var info, error, schemaKeys, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, key, itemSchema, itemValue, keyItemKeys, documentKeys, notInSchemaKeys, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, _key, _keyItemKeys, _itemSchema, i, _itemValue, _keyItemKeys2;
return regeneratorRuntime.wrap(function _callee$(_context) {

@@ -61,11 +53,22 @@ while (1) {

case 0:
info = { schema: schema, doc: doc, currentDoc: currentDoc, value: value, currentSchema: currentSchema, keys: keys, options: options, args: args, addError: addError };
_context.next = 3;
return (0, _getError2.default)(info);
schema = _ref.schema, doc = _ref.doc, currentDoc = _ref.currentDoc, value = _ref.value, currentSchema = _ref.currentSchema, _ref$keys = _ref.keys, keys = _ref$keys === void 0 ? [] : _ref$keys, addError = _ref.addError, options = _ref.options, args = _ref.args;
info = {
schema: schema,
doc: doc,
currentDoc: currentDoc,
value: value,
currentSchema: currentSchema,
keys: keys,
options: options,
args: args,
addError: addError
};
_context.next = 4;
return (0, _getError["default"])(info);
case 3:
case 4:
error = _context.sent;
if (!error) {
_context.next = 7;
_context.next = 8;
break;

@@ -75,15 +78,15 @@ }

addError(keys, error);
return _context.abrupt('return');
return _context.abrupt("return");
case 7:
if (!(0, _isNil2.default)(value)) {
_context.next = 9;
case 8:
if (!(0, _isNil["default"])(value)) {
_context.next = 10;
break;
}
return _context.abrupt('return');
return _context.abrupt("return");
case 9:
if (!(0, _isPlainObject2.default)(currentSchema.type)) {
_context.next = 69;
case 10:
if (!(0, _isPlainObject["default"])(currentSchema.type)) {
_context.next = 44;
break;

@@ -93,30 +96,29 @@ }

if (!(typeof currentSchema.type.__skipChildValidation === 'function')) {
_context.next = 15;
_context.next = 16;
break;
}
_context.next = 13;
_context.next = 14;
return currentSchema.type.__skipChildValidation(value, info);
case 13:
case 14:
if (!_context.sent) {
_context.next = 15;
_context.next = 16;
break;
}
return _context.abrupt('return');
return _context.abrupt("return");
case 15:
case 16:
schemaKeys = Object.keys(currentSchema.type).filter(function (key) {
return !key.startsWith('__');
});
_iteratorNormalCompletion = true;
_didIteratorError = false;
_iteratorError = undefined;
_context.prev = 19;
_iterator = schemaKeys[Symbol.iterator]();
_iterator = _createForOfIteratorHelper(schemaKeys);
_context.prev = 18;
case 21:
if (_iteratorNormalCompletion = (_step = _iterator.next()).done) {
_context.next = 32;
_iterator.s();
case 20:
if ((_step = _iterator.n()).done) {
_context.next = 30;
break;

@@ -128,7 +130,6 @@ }

itemValue = value[key];
keyItemKeys = (0, _clone2.default)(keys);
keyItemKeys = (0, _clone["default"])(keys);
keyItemKeys.push(key);
_context.next = 29;
return doValidation(_extends({}, info, {
_context.next = 28;
return doValidation(_objectSpread(_objectSpread({}, info), {}, {
currentDoc: value,

@@ -140,96 +141,49 @@ value: itemValue,

case 29:
_iteratorNormalCompletion = true;
_context.next = 21;
case 28:
_context.next = 20;
break;
case 32:
_context.next = 38;
case 30:
_context.next = 35;
break;
case 34:
_context.prev = 34;
_context.t0 = _context['catch'](19);
_didIteratorError = true;
_iteratorError = _context.t0;
case 32:
_context.prev = 32;
_context.t0 = _context["catch"](18);
case 38:
_context.prev = 38;
_context.prev = 39;
_iterator.e(_context.t0);
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
case 35:
_context.prev = 35;
case 41:
_context.prev = 41;
_iterator.f();
if (!_didIteratorError) {
_context.next = 44;
break;
}
return _context.finish(35);
throw _iteratorError;
case 44:
return _context.finish(41);
case 45:
return _context.finish(38);
case 46:
case 38:
documentKeys = Object.keys(value);
notInSchemaKeys = (0, _difference2.default)(documentKeys, schemaKeys);
_iteratorNormalCompletion2 = true;
_didIteratorError2 = false;
_iteratorError2 = undefined;
_context.prev = 51;
notInSchemaKeys = (0, _difference["default"])(documentKeys, schemaKeys);
_iterator2 = _createForOfIteratorHelper(notInSchemaKeys);
for (_iterator2 = notInSchemaKeys[Symbol.iterator](); !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
_key = _step2.value;
_keyItemKeys = (0, _clone2.default)(keys);
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
_key = _step2.value;
_keyItemKeys = (0, _clone["default"])(keys);
_keyItemKeys.push(_key);
addError(_keyItemKeys, _Errors2.default.NOT_IN_SCHEMA);
}
_context.next = 59;
break;
_keyItemKeys.push(_key);
case 55:
_context.prev = 55;
_context.t1 = _context['catch'](51);
_didIteratorError2 = true;
_iteratorError2 = _context.t1;
case 59:
_context.prev = 59;
_context.prev = 60;
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
addError(_keyItemKeys, _Errors["default"].NOT_IN_SCHEMA);
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
case 62:
_context.prev = 62;
if (!_didIteratorError2) {
_context.next = 65;
break;
}
throw _iteratorError2;
case 65:
return _context.finish(62);
case 66:
return _context.finish(59);
case 67:
_context.next = 81;
_context.next = 56;
break;
case 69:
if (!(0, _isArray2.default)(currentSchema.type)) {
_context.next = 81;
case 44:
if (!(0, _isArray["default"])(currentSchema.type)) {
_context.next = 56;
break;

@@ -241,5 +195,5 @@ }

case 72:
case 47:
if (!(i < value.length)) {
_context.next = 81;
_context.next = 56;
break;

@@ -249,31 +203,29 @@ }

_itemValue = value[i];
_keyItemKeys2 = (0, _clone2.default)(keys);
_keyItemKeys2 = (0, _clone["default"])(keys);
_keyItemKeys2.push(i);
_context.next = 78;
return doValidation(_extends({}, info, {
_context.next = 53;
return doValidation(_objectSpread(_objectSpread({}, info), {}, {
currentDoc: value,
value: _itemValue,
currentSchema: { type: _itemSchema },
currentSchema: {
type: _itemSchema
},
keys: _keyItemKeys2
}));
case 78:
case 53:
i++;
_context.next = 72;
_context.next = 47;
break;
case 81:
case 'end':
case 56:
case "end":
return _context.stop();
}
}
}, _callee, this, [[19, 34, 38, 46], [39,, 41, 45], [51, 55, 59, 67], [60,, 62, 66]]);
}, _callee, null, [[18, 32, 35, 38]]);
}));
function doValidation(_x) {
return _ref.apply(this, arguments);
}
return doValidation;
}();
return _doValidation.apply(this, arguments);
}

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,17 +6,14 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = _default;
exports.default = function (type) {
var validatorKey = (0, _getFieldValidator2.default)(type);
var validator = validatorKey === 'custom' ? type : _fieldTypes2.default[validatorKey];
return validator;
};
var _getFieldValidator = _interopRequireDefault(require("./getFieldValidator"));
var _getFieldValidator = require('./getFieldValidator');
var _fieldTypes = _interopRequireDefault(require("../../fieldTypes"));
var _getFieldValidator2 = _interopRequireDefault(_getFieldValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _fieldTypes = require('../../fieldTypes');
var _fieldTypes2 = _interopRequireDefault(_fieldTypes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _default(type) {
var validatorKey = (0, _getFieldValidator["default"])(type);
var validator = validatorKey === 'custom' ? type : _fieldTypes["default"][validatorKey];
return validator;
}

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,9 +6,23 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = _default;
exports.default = function (type) {
if ((0, _isPlainObject2.default)(type)) {
var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject"));
var _isArray = _interopRequireDefault(require("lodash/isArray"));
var _isString = _interopRequireDefault(require("lodash/isString"));
var _fieldTypes = _interopRequireDefault(require("../../fieldTypes"));
var _has = _interopRequireDefault(require("lodash/has"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _default(type) {
if ((0, _isPlainObject["default"])(type)) {
if (type._isFieldType) return 'custom';
return 'plainObject';
}
if ((0, _isArray2.default)(type)) return 'array';
if ((0, _isArray["default"])(type)) return 'array';
if (type === String) return 'string';

@@ -19,7 +33,7 @@ if (type === Date) return 'date';

if (!(0, _isString2.default)(type)) {
if (!(0, _isString["default"])(type)) {
throw new Error('Field type is invalid. Pass a string or a custom field type. Got ' + type);
}
var exists = (0, _has2.default)(_fieldTypes2.default, type);
var exists = (0, _has["default"])(_fieldTypes["default"], type);

@@ -31,24 +45,2 @@ if (!exists) {

return type;
};
var _isPlainObject = require('lodash/isPlainObject');
var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
var _isArray = require('lodash/isArray');
var _isArray2 = _interopRequireDefault(_isArray);
var _isString = require('lodash/isString');
var _isString2 = _interopRequireDefault(_isString);
var _fieldTypes = require('../../fieldTypes');
var _fieldTypes2 = _interopRequireDefault(_fieldTypes);
var _has = require('lodash/has');
var _has2 = _interopRequireDefault(_has);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
}

@@ -1,20 +0,16 @@

'use strict';
"use strict";
var _getFieldValidator = require('./getFieldValidator');
var _getFieldValidator = _interopRequireDefault(require("./getFieldValidator"));
var _getFieldValidator2 = _interopRequireDefault(_getFieldValidator);
var _fieldType = _interopRequireDefault(require("../../fieldType"));
var _fieldType = require('../../fieldType');
var _getFieldType = _interopRequireDefault(require("./getFieldType"));
var _fieldType2 = _interopRequireDefault(_fieldType);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _getFieldType = require('./getFieldType');
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
var _getFieldType2 = _interopRequireDefault(_getFieldType);
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
test('returns object validator when an object is passed', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
test('returns object validator when an object is passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var validator;

@@ -25,15 +21,17 @@ return regeneratorRuntime.wrap(function _callee$(_context) {

case 0:
validator = (0, _getFieldValidator2.default)({ name: { type: String } });
validator = (0, _getFieldValidator["default"])({
name: {
type: String
}
});
expect(validator).toBe('plainObject');
case 2:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('returns array validator when an array is passed', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('returns array validator when an array is passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
var validator;

@@ -44,15 +42,13 @@ return regeneratorRuntime.wrap(function _callee2$(_context2) {

case 0:
validator = (0, _getFieldValidator2.default)([String]);
validator = (0, _getFieldValidator["default"])([String]);
expect(validator).toBe('array');
case 2:
case 'end':
case "end":
return _context2.stop();
}
}
}, _callee2, undefined);
}, _callee2);
})));
test('returns string validator when String is passed', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
test('returns string validator when String is passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
var validator;

@@ -63,15 +59,13 @@ return regeneratorRuntime.wrap(function _callee3$(_context3) {

case 0:
validator = (0, _getFieldValidator2.default)(String);
validator = (0, _getFieldValidator["default"])(String);
expect(validator).toBe('string');
case 2:
case 'end':
case "end":
return _context3.stop();
}
}
}, _callee3, undefined);
}, _callee3);
})));
test('returns number validator when Number is passed', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
test('returns number validator when Number is passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
var validator;

@@ -82,15 +76,13 @@ return regeneratorRuntime.wrap(function _callee4$(_context4) {

case 0:
validator = (0, _getFieldValidator2.default)(Number);
validator = (0, _getFieldValidator["default"])(Number);
expect(validator).toBe('number');
case 2:
case 'end':
case "end":
return _context4.stop();
}
}
}, _callee4, undefined);
}, _callee4);
})));
test('returns date validator when Date is passed', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
test('returns date validator when Date is passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
var validator;

@@ -101,15 +93,13 @@ return regeneratorRuntime.wrap(function _callee5$(_context5) {

case 0:
validator = (0, _getFieldValidator2.default)(Date);
validator = (0, _getFieldValidator["default"])(Date);
expect(validator).toBe('date');
case 2:
case 'end':
case "end":
return _context5.stop();
}
}
}, _callee5, undefined);
}, _callee5);
})));
test('returns string validator when a string key is passed', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
test('returns string validator when a string key is passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
var validator;

@@ -120,15 +110,13 @@ return regeneratorRuntime.wrap(function _callee6$(_context6) {

case 0:
validator = (0, _getFieldValidator2.default)('string');
validator = (0, _getFieldValidator["default"])('string');
expect(validator).toBe('string');
case 2:
case 'end':
case "end":
return _context6.stop();
}
}
}, _callee6, undefined);
}, _callee6);
})));
test('returns integer validator when a integer key is passed', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {
test('returns integer validator when a integer key is passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {
var validator;

@@ -139,15 +127,13 @@ return regeneratorRuntime.wrap(function _callee7$(_context7) {

case 0:
validator = (0, _getFieldValidator2.default)('integer');
validator = (0, _getFieldValidator["default"])('integer');
expect(validator).toBe('integer');
case 2:
case 'end':
case "end":
return _context7.stop();
}
}
}, _callee7, undefined);
}, _callee7);
})));
test('get custom field type validator', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {
test('get custom field type validator', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {
var aFieldType, result;

@@ -158,18 +144,16 @@ return regeneratorRuntime.wrap(function _callee8$(_context8) {

case 0:
aFieldType = (0, _fieldType2.default)({
aFieldType = (0, _fieldType["default"])({
name: 'customFieldType'
});
result = (0, _getFieldType2.default)(aFieldType);
result = (0, _getFieldType["default"])(aFieldType);
expect(result).toBe(aFieldType);
case 3:
case 'end':
case "end":
return _context8.stop();
}
}
}, _callee8, undefined);
}, _callee8);
})));
test('returns unkown field validator when an unkown type function is passed', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {
test('returns unkown field validator when an unkown type function is passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {
return regeneratorRuntime.wrap(function _callee9$(_context9) {

@@ -180,4 +164,5 @@ while (1) {

expect.assertions(1);
try {
(0, _getFieldValidator2.default)(function () {});
(0, _getFieldValidator["default"])(function () {});
} catch (error) {

@@ -188,10 +173,9 @@ expect(error.message).toMatch(/Field type is invalid/);

case 2:
case 'end':
case "end":
return _context9.stop();
}
}
}, _callee9, undefined);
}, _callee9);
})));
test('returns unkown field validator when an unkown type string is passed', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {
test('returns unkown field validator when an unkown type string is passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {
return regeneratorRuntime.wrap(function _callee10$(_context10) {

@@ -202,4 +186,5 @@ while (1) {

expect.assertions(1);
try {
(0, _getFieldValidator2.default)('an unknown type');
(0, _getFieldValidator["default"])('an unknown type');
} catch (error) {

@@ -210,7 +195,7 @@ expect(error.message).toMatch(/Field type does not exist/);

case 2:
case 'end':
case "end":
return _context10.stop();
}
}
}, _callee10, undefined);
}, _callee10);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,27 +6,36 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = _default;
var _isNil = require('lodash/isNil');
var _isNil = _interopRequireDefault(require("lodash/isNil"));
var _isNil2 = _interopRequireDefault(_isNil);
var _getFieldValidator = _interopRequireDefault(require("./getFieldValidator"));
var _getFieldValidator = require('./getFieldValidator');
var _fieldTypes = _interopRequireDefault(require("../../fieldTypes"));
var _getFieldValidator2 = _interopRequireDefault(_getFieldValidator);
var _Errors = _interopRequireDefault(require("../../Errors"));
var _fieldTypes = require('../../fieldTypes');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _fieldTypes2 = _interopRequireDefault(_fieldTypes);
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
var _Errors = require('../../Errors');
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
var _Errors2 = _interopRequireDefault(_Errors);
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
exports.default = function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(params) {
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _default(_x) {
return _ref.apply(this, arguments);
}
function _ref() {
_ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(params) {
var schema, doc, currentDoc, value, currentSchema, keys, _params$options, options, _params$args, args, info, validatorKey, validator, error, customError, _currentSchema$type, typeError;

@@ -38,6 +47,13 @@

case 0:
schema = params.schema, doc = params.doc, currentDoc = params.currentDoc, value = params.value, currentSchema = params.currentSchema, keys = params.keys, _params$options = params.options, options = _params$options === undefined ? {} : _params$options, _params$args = params.args, args = _params$args === undefined ? [] : _params$args;
info = { schema: schema, doc: doc, currentDoc: currentDoc, keys: keys, currentSchema: currentSchema, options: options };
schema = params.schema, doc = params.doc, currentDoc = params.currentDoc, value = params.value, currentSchema = params.currentSchema, keys = params.keys, _params$options = params.options, options = _params$options === void 0 ? {} : _params$options, _params$args = params.args, args = _params$args === void 0 ? [] : _params$args;
info = {
schema: schema,
doc: doc,
currentDoc: currentDoc,
keys: keys,
currentSchema: currentSchema,
options: options
};
if (!(0, _isNil2.default)(value)) {
if (!(0, _isNil["default"])(value)) {
_context.next = 7;

@@ -52,3 +68,3 @@ break;

return _context.abrupt('return', _Errors2.default.REQUIRED);
return _context.abrupt("return", _Errors["default"].REQUIRED);

@@ -60,4 +76,4 @@ case 5:

case 7:
validatorKey = (0, _getFieldValidator2.default)(currentSchema.type);
validator = validatorKey === 'custom' ? currentSchema.type : _fieldTypes2.default[validatorKey];
validatorKey = (0, _getFieldValidator["default"])(currentSchema.type);
validator = validatorKey === 'custom' ? currentSchema.type : _fieldTypes["default"][validatorKey];
_context.next = 11;

@@ -74,6 +90,5 @@ return validator.validate.apply(validator, [value, info].concat(_toConsumableArray(args)));

return _context.abrupt('return', error);
return _context.abrupt("return", error);
case 14:
// to not deprecate yet custom field

@@ -98,3 +113,3 @@ if (currentSchema.custom) currentSchema.validate = currentSchema.custom;

return _context.abrupt('return', customError);
return _context.abrupt("return", customError);

@@ -118,18 +133,15 @@ case 21:

return _context.abrupt('return', typeError);
return _context.abrupt("return", typeError);
case 27:
return _context.abrupt('return', null);
return _context.abrupt("return", null);
case 28:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, this);
}, _callee);
}));
return function (_x) {
return _ref.apply(this, arguments);
};
}();
return _ref.apply(this, arguments);
}

@@ -1,20 +0,16 @@

'use strict';
"use strict";
var _index = require('./index');
var _index = _interopRequireDefault(require("./index"));
var _index2 = _interopRequireDefault(_index);
var _Errors = _interopRequireDefault(require("../../Errors"));
var _Errors = require('../../Errors');
var _fieldType = _interopRequireDefault(require("../../fieldType"));
var _Errors2 = _interopRequireDefault(_Errors);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _fieldType = require('../../fieldType');
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
var _fieldType2 = _interopRequireDefault(_fieldType);
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
test('pass a simple string validation', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
test('pass a simple string validation', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var error;

@@ -26,18 +22,21 @@ return regeneratorRuntime.wrap(function _callee$(_context) {

_context.next = 2;
return (0, _index2.default)({ value: 'A valid string', currentSchema: { type: String } });
return (0, _index["default"])({
value: 'A valid string',
currentSchema: {
type: String
}
});
case 2:
error = _context.sent;
expect(error).toBeNull();
case 4:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('detect required field when value is null', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('detect required field when value is null', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
var error;

@@ -49,18 +48,21 @@ return regeneratorRuntime.wrap(function _callee2$(_context2) {

_context2.next = 2;
return (0, _index2.default)({ value: null, currentSchema: { type: String } });
return (0, _index["default"])({
value: null,
currentSchema: {
type: String
}
});
case 2:
error = _context2.sent;
expect(error).toBe(_Errors["default"].REQUIRED);
expect(error).toBe(_Errors2.default.REQUIRED);
case 4:
case 'end':
case "end":
return _context2.stop();
}
}
}, _callee2, undefined);
}, _callee2);
})));
test('dont detect required field when value is null and omit required is passed', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
test('dont detect required field when value is null and omit required is passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
var error;

@@ -72,6 +74,10 @@ return regeneratorRuntime.wrap(function _callee3$(_context3) {

_context3.next = 2;
return (0, _index2.default)({
options: { omitRequired: true },
return (0, _index["default"])({
options: {
omitRequired: true
},
value: null,
currentSchema: { type: String }
currentSchema: {
type: String
}
});

@@ -81,14 +87,12 @@

error = _context3.sent;
expect(error).toBeNull();
case 4:
case 'end':
case "end":
return _context3.stop();
}
}
}, _callee3, undefined);
}, _callee3);
})));
test('run custom validation if passed', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
test('run custom validation if passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
var customType, error;

@@ -99,3 +103,3 @@ return regeneratorRuntime.wrap(function _callee4$(_context4) {

case 0:
customType = (0, _fieldType2.default)({
customType = (0, _fieldType["default"])({
validate: function validate(value) {

@@ -106,5 +110,7 @@ return 'hello';

_context4.next = 3;
return (0, _index2.default)({
return (0, _index["default"])({
value: 'A string',
currentSchema: { type: customType }
currentSchema: {
type: customType
}
});

@@ -114,14 +120,12 @@

error = _context4.sent;
expect(error).toBe('hello');
case 5:
case 'end':
case "end":
return _context4.stop();
}
}
}, _callee4, undefined);
}, _callee4);
})));
test('run async custom validation', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
test('run async custom validation', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
var customType, error;

@@ -132,6 +136,4 @@ return regeneratorRuntime.wrap(function _callee6$(_context6) {

case 0:
customType = (0, _fieldType2.default)({
customType = (0, _fieldType["default"])({
validate: function validate(value) {
var _this = this;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {

@@ -153,10 +155,10 @@ var sleep;

case 3:
return _context5.abrupt('return', 'hello');
return _context5.abrupt("return", 'hello');
case 4:
case 'end':
case "end":
return _context5.stop();
}
}
}, _callee5, _this);
}, _callee5);
}))();

@@ -166,5 +168,7 @@ }

_context6.next = 3;
return (0, _index2.default)({
return (0, _index["default"])({
value: 'A string',
currentSchema: { type: customType }
currentSchema: {
type: customType
}
});

@@ -174,11 +178,10 @@

error = _context6.sent;
expect(error).toBe('hello');
case 5:
case 'end':
case "end":
return _context6.stop();
}
}
}, _callee6, undefined);
}, _callee6);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,40 +6,33 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = _default;
exports.default = function (validationErrors) {
var _dotObject = _interopRequireDefault(require("dot-object"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _default(validationErrors) {
if (validationErrors.length === 0) return null;
var errors = {};
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
var _iterator = _createForOfIteratorHelper(validationErrors),
_step;
try {
for (var _iterator = validationErrors[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var validationError = _step.value;
errors[validationError.key] = validationError.code;
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
_iterator.e(err);
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
_iterator.f();
}
return _dotObject2.default.dot(errors);
};
var _dotObject = require('dot-object');
var _dotObject2 = _interopRequireDefault(_dotObject);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
return _dotObject["default"].dot(errors);
}

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,17 +6,20 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = _default;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _doValidation = _interopRequireDefault(require("./doValidation"));
var _doValidation = require('./doValidation');
var _getValidationErrorsObject = _interopRequireDefault(require("./getValidationErrorsObject"));
var _doValidation2 = _interopRequireDefault(_doValidation);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _getValidationErrorsObject = require('./getValidationErrorsObject');
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
var _getValidationErrorsObject2 = _interopRequireDefault(_getValidationErrorsObject);
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
var defaultOptions = {

@@ -26,10 +29,17 @@ omitRequired: false

exports.default = function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(schema, doc) {
for (var _len = arguments.length, args = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
args[_key - 3] = arguments[_key];
}
function _default(_x, _x2) {
return _ref.apply(this, arguments);
}
var passedOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var options, errors, addError;
function _ref() {
_ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(schema, doc) {
var passedOptions,
options,
errors,
addError,
_len,
args,
_key,
_args = arguments;
return regeneratorRuntime.wrap(function _callee$(_context) {

@@ -39,3 +49,4 @@ while (1) {

case 0:
options = _extends({}, defaultOptions, passedOptions);
passedOptions = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
options = _objectSpread(_objectSpread({}, defaultOptions), passedOptions);
errors = [];

@@ -50,4 +61,8 @@

_context.next = 5;
return (0, _doValidation2.default)({
for (_len = _args.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
args[_key - 3] = _args[_key];
}
_context.next = 7;
return (0, _doValidation["default"])({
schema: schema,

@@ -57,3 +72,5 @@ doc: doc,

value: doc,
currentSchema: { type: schema },
currentSchema: {
type: schema
},
addError: addError,

@@ -64,16 +81,13 @@ options: options,

case 5:
return _context.abrupt('return', (0, _getValidationErrorsObject2.default)(errors));
case 7:
return _context.abrupt("return", (0, _getValidationErrorsObject["default"])(errors));
case 6:
case 'end':
case 8:
case "end":
return _context.stop();
}
}
}, _callee, this);
}, _callee);
}));
return function (_x, _x2) {
return _ref.apply(this, arguments);
};
}();
return _ref.apply(this, arguments);
}

@@ -1,15 +0,13 @@

'use strict';
"use strict";
var _index = require('./index');
var _index = _interopRequireDefault(require("./index"));
var _index2 = _interopRequireDefault(_index);
var _Errors = _interopRequireDefault(require("../Errors"));
var _Errors = require('../Errors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors2 = _interopRequireDefault(_Errors);
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
var friend = {

@@ -20,3 +18,2 @@ firstName: {

};
var car = {

@@ -30,3 +27,2 @@ brand: {

};
var schema = {

@@ -48,4 +44,3 @@ firstName: {

};
test('returns null when object is valid', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
test('returns null when object is valid', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var errors;

@@ -57,6 +52,10 @@ return regeneratorRuntime.wrap(function _callee$(_context) {

_context.next = 2;
return (0, _index2.default)(schema, {
return (0, _index["default"])(schema, {
firstName: 'Nicolás',
lastName: 'López',
friends: [{ firstName: 'Roberto' }, { firstName: 'Joaquin' }],
friends: [{
firstName: 'Roberto'
}, {
firstName: 'Joaquin'
}],
car: {

@@ -70,14 +69,12 @@ brand: 'Nissan',

errors = _context.sent;
expect(errors).toBeNull();
case 4:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('returns an array with the respective errors', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('returns an array with the respective errors', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
var errors;

@@ -89,5 +86,9 @@ return regeneratorRuntime.wrap(function _callee2$(_context2) {

_context2.next = 2;
return (0, _index2.default)(schema, {
return (0, _index["default"])(schema, {
lastName: 'López',
friends: [{ lastName: 'Zibert' }, { firstName: 'Joaquin' }]
friends: [{
lastName: 'Zibert'
}, {
firstName: 'Joaquin'
}]
});

@@ -97,18 +98,16 @@

errors = _context2.sent;
expect(errors).toEqual({
firstName: _Errors2.default.REQUIRED,
'friends.0.firstName': _Errors2.default.REQUIRED,
'friends.0.lastName': _Errors2.default.NOT_IN_SCHEMA
firstName: _Errors["default"].REQUIRED,
'friends.0.firstName': _Errors["default"].REQUIRED,
'friends.0.lastName': _Errors["default"].NOT_IN_SCHEMA
});
case 4:
case 'end':
case "end":
return _context2.stop();
}
}
}, _callee2, undefined);
}, _callee2);
})));
test('omits required if specified', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
test('omits required if specified', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
var errors;

@@ -120,21 +119,23 @@ return regeneratorRuntime.wrap(function _callee3$(_context3) {

_context3.next = 2;
return (0, _index2.default)(schema, {
return (0, _index["default"])(schema, {
lastName: 'López',
friends: [{}, { firstName: 'Joaquin' }]
}, { omitRequired: true });
friends: [{}, {
firstName: 'Joaquin'
}]
}, {
omitRequired: true
});
case 2:
errors = _context3.sent;
expect(errors).toBeNull();
case 4:
case 'end':
case "end":
return _context3.stop();
}
}
}, _callee3, undefined);
}, _callee3);
})));
test('gives error when a document field is not present in schema', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
test('gives error when a document field is not present in schema', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
var errors;

@@ -146,3 +147,3 @@ return regeneratorRuntime.wrap(function _callee4$(_context4) {

_context4.next = 2;
return (0, _index2.default)({
return (0, _index["default"])({
name: {

@@ -158,16 +159,14 @@ type: String

errors = _context4.sent;
expect(errors).toEqual({
age: _Errors2.default.NOT_IN_SCHEMA
age: _Errors["default"].NOT_IN_SCHEMA
});
case 4:
case 'end':
case "end":
return _context4.stop();
}
}
}, _callee4, undefined);
}, _callee4);
})));
test('dont give error when array is optional and its not passed', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
test('dont give error when array is optional and its not passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
var schema, errors;

@@ -188,3 +187,3 @@ return regeneratorRuntime.wrap(function _callee5$(_context5) {

_context5.next = 3;
return (0, _index2.default)(schema, {
return (0, _index["default"])(schema, {
name: 'Nicolás López',

@@ -196,14 +195,12 @@ tags: []

errors = _context5.sent;
expect(errors).toBeNull();
case 5:
case 'end':
case "end":
return _context5.stop();
}
}
}, _callee5, undefined);
}, _callee5);
})));
test('gives an error if a optional object is present and has missing values', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
test('gives an error if a optional object is present and has missing values', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
var errors;

@@ -215,6 +212,8 @@ return regeneratorRuntime.wrap(function _callee6$(_context6) {

_context6.next = 2;
return (0, _index2.default)(schema, {
return (0, _index["default"])(schema, {
firstName: 'Nicolás',
lastName: 'López',
friends: [{ firstName: 'Joaquin' }],
friends: [{
firstName: 'Joaquin'
}],
car: {

@@ -227,16 +226,14 @@ brand: 'Nissan'

errors = _context6.sent;
expect(errors).toEqual({
'car.model': _Errors2.default.REQUIRED
'car.model': _Errors["default"].REQUIRED
});
case 4:
case 'end':
case "end":
return _context6.stop();
}
}
}, _callee6, undefined);
}, _callee6);
})));
test('can check errors in deeply nested keys', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {
test('can check errors in deeply nested keys', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {
var children, mother, family, deepSchema, errors;

@@ -284,3 +281,3 @@ return regeneratorRuntime.wrap(function _callee7$(_context7) {

_context7.next = 6;
return (0, _index2.default)(deepSchema, {
return (0, _index["default"])(deepSchema, {
name: 'Nicolás',

@@ -309,18 +306,16 @@ family: {

errors = _context7.sent;
expect(errors).toEqual({
'family.mother.car.brand': _Errors2.default.REQUIRED,
'family.mother.children.0.car.model': _Errors2.default.REQUIRED,
'family.mother.children.1.age': _Errors2.default.NOT_IN_SCHEMA
'family.mother.car.brand': _Errors["default"].REQUIRED,
'family.mother.children.0.car.model': _Errors["default"].REQUIRED,
'family.mother.children.1.age': _Errors["default"].NOT_IN_SCHEMA
});
case 8:
case 'end':
case "end":
return _context7.stop();
}
}
}, _callee7, undefined);
}, _callee7);
})));
test('run validate validation when field is optional and no value is passed', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {
test('run validate validation when field is optional and no value is passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {
var person, schema;

@@ -340,4 +335,2 @@ return regeneratorRuntime.wrap(function _callee9$(_context9) {

__validate: function __validate(value) {
var _this = this;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {

@@ -353,10 +346,10 @@ return regeneratorRuntime.wrap(function _callee8$(_context8) {

return _context8.abrupt('return', 'No object');
return _context8.abrupt("return", 'No object');
case 2:
case 'end':
case "end":
return _context8.stop();
}
}
}, _callee8, _this);
}, _callee8);
}))();

@@ -379,4 +372,6 @@ }

_context9.next = 5;
return (0, _index2.default)(schema, {
person: { name: null }
return (0, _index["default"])(schema, {
person: {
name: null
}
});

@@ -386,10 +381,9 @@

_context9.t1 = _context9.sent;
_context9.t2 = {
number: _Errors2.default.REQUIRED,
(0, _context9.t0)(_context9.t1).toEqual({
number: _Errors["default"].REQUIRED,
'person.name': 'No'
};
(0, _context9.t0)(_context9.t1).toEqual(_context9.t2);
_context9.t3 = expect;
_context9.next = 11;
return (0, _index2.default)(schema, {
});
_context9.t2 = expect;
_context9.next = 10;
return (0, _index["default"])(schema, {
person: null,

@@ -399,32 +393,29 @@ number: null

case 11:
_context9.t4 = _context9.sent;
_context9.t5 = {
number: _Errors2.default.REQUIRED,
case 10:
_context9.t3 = _context9.sent;
(0, _context9.t2)(_context9.t3).toEqual({
number: _Errors["default"].REQUIRED,
person: 'No object'
};
(0, _context9.t3)(_context9.t4).toEqual(_context9.t5);
_context9.t6 = expect;
_context9.next = 17;
return (0, _index2.default)(schema, {
});
_context9.t4 = expect;
_context9.next = 15;
return (0, _index["default"])(schema, {
number: 123
});
case 17:
_context9.t7 = _context9.sent;
_context9.t8 = {
case 15:
_context9.t5 = _context9.sent;
(0, _context9.t4)(_context9.t5).toEqual({
number: 'No',
person: 'No object'
};
(0, _context9.t6)(_context9.t7).toEqual(_context9.t8);
});
case 20:
case 'end':
case 17:
case "end":
return _context9.stop();
}
}
}, _callee9, undefined);
}, _callee9);
})));
test('can validate object type with validate validation', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11() {
test('can validate object type with validate validation', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11() {
var person, schema;

@@ -440,4 +431,2 @@ return regeneratorRuntime.wrap(function _callee11$(_context11) {

__validate: function __validate(value) {
var _this2 = this;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {

@@ -448,10 +437,10 @@ return regeneratorRuntime.wrap(function _callee10$(_context10) {

case 0:
return _context10.abrupt('return', value.name === 'Nicolás' ? null : 'no');
return _context10.abrupt("return", value.name === 'Nicolás' ? null : 'no');
case 1:
case 'end':
case "end":
return _context10.stop();
}
}
}, _callee10, _this2);
}, _callee10);
}))();

@@ -467,4 +456,6 @@ }

_context11.next = 5;
return (0, _index2.default)(schema, {
person: { name: 'Nicolás' }
return (0, _index["default"])(schema, {
person: {
name: 'Nicolás'
}
});

@@ -477,4 +468,6 @@

_context11.next = 10;
return (0, _index2.default)(schema, {
person: { name: 'Joaquin' }
return (0, _index["default"])(schema, {
person: {
name: 'Joaquin'
}
});

@@ -484,16 +477,14 @@

_context11.t3 = _context11.sent;
_context11.t4 = {
(0, _context11.t2)(_context11.t3).toEqual({
person: 'no'
};
(0, _context11.t2)(_context11.t3).toEqual(_context11.t4);
});
case 13:
case 'end':
case 12:
case "end":
return _context11.stop();
}
}
}, _callee11, undefined);
}, _callee11);
})));
test('skip child validation if specified', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee13() {
test('skip child validation if specified', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee13() {
var person, schema, errors;

@@ -512,4 +503,2 @@ return regeneratorRuntime.wrap(function _callee13$(_context13) {

__skipChildValidation: function __skipChildValidation(value) {
var _this3 = this;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee12() {

@@ -520,10 +509,10 @@ return regeneratorRuntime.wrap(function _callee12$(_context12) {

case 0:
return _context12.abrupt('return', value.firstName === 'Nicolás');
return _context12.abrupt("return", value.firstName === 'Nicolás');
case 1:
case 'end':
case "end":
return _context12.stop();
}
}
}, _callee12, _this3);
}, _callee12);
}))();

@@ -539,4 +528,6 @@ }

_context13.next = 5;
return (0, _index2.default)(schema, {
persons: [{ firstName: 'Nicolás' }]
return (0, _index["default"])(schema, {
persons: [{
firstName: 'Nicolás'
}]
});

@@ -548,4 +539,6 @@

_context13.next = 9;
return (0, _index2.default)(schema, {
persons: [{ firstName: 'Joaquin' }]
return (0, _index["default"])(schema, {
persons: [{
firstName: 'Joaquin'
}]
});

@@ -555,16 +548,14 @@

errors = _context13.sent;
expect(errors).toEqual({
'persons.0.lastName': _Errors2.default.REQUIRED
'persons.0.lastName': _Errors["default"].REQUIRED
});
case 11:
case 'end':
case "end":
return _context13.stop();
}
}
}, _callee13, undefined);
}, _callee13);
})));
test('run custom validation with custom key', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee15() {
test('run custom validation with custom key', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee15() {
var schema, errors;

@@ -579,4 +570,2 @@ return regeneratorRuntime.wrap(function _callee15$(_context15) {

custom: function custom(value) {
var _this4 = this;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee14() {

@@ -587,10 +576,10 @@ return regeneratorRuntime.wrap(function _callee14$(_context14) {

case 0:
return _context14.abrupt('return', value);
return _context14.abrupt("return", value);
case 1:
case 'end':
case "end":
return _context14.stop();
}
}
}, _callee14, _this4);
}, _callee14);
}))();

@@ -601,7 +590,8 @@ }

_context15.next = 3;
return (0, _index2.default)(schema, { name: 'error' });
return (0, _index["default"])(schema, {
name: 'error'
});
case 3:
errors = _context15.sent;
expect(errors).toEqual({

@@ -612,10 +602,9 @@ name: 'error'

case 5:
case 'end':
case "end":
return _context15.stop();
}
}
}, _callee15, undefined);
}, _callee15);
})));
test('allow custom validation to pass an error object', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee17() {
test('allow custom validation to pass an error object', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee17() {
var schema, errors;

@@ -630,4 +619,2 @@ return regeneratorRuntime.wrap(function _callee17$(_context17) {

validate: function validate(person) {
var _this5 = this;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee16() {

@@ -638,3 +625,3 @@ return regeneratorRuntime.wrap(function _callee16$(_context16) {

case 0:
return _context16.abrupt('return', {
return _context16.abrupt("return", {
name: 'required',

@@ -645,7 +632,7 @@ lastName: 'tooShort'

case 1:
case 'end':
case "end":
return _context16.stop();
}
}
}, _callee16, _this5);
}, _callee16);
}))();

@@ -656,7 +643,10 @@ }

_context17.next = 3;
return (0, _index2.default)(schema, { person: { lastName: 'López' } });
return (0, _index["default"])(schema, {
person: {
lastName: 'López'
}
});
case 3:
errors = _context17.sent;
expect(errors).toEqual({

@@ -668,10 +658,9 @@ 'person.name': 'required',

case 5:
case 'end':
case "end":
return _context17.stop();
}
}
}, _callee17, undefined);
}, _callee17);
})));
test('allow custom validation to pass an complex error object', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee19() {
test('allow custom validation to pass an complex error object', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee19() {
var schema, errors;

@@ -686,4 +675,2 @@ return regeneratorRuntime.wrap(function _callee19$(_context19) {

validate: function validate(person) {
var _this6 = this;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee18() {

@@ -694,14 +681,16 @@ return regeneratorRuntime.wrap(function _callee18$(_context18) {

case 0:
return _context18.abrupt('return', {
return _context18.abrupt("return", {
name: 'required',
'car.name': 'required',
friends: [{ name: 'required' }]
friends: [{
name: 'required'
}]
});
case 1:
case 'end':
case "end":
return _context18.stop();
}
}
}, _callee18, _this6);
}, _callee18);
}))();

@@ -712,7 +701,10 @@ }

_context19.next = 3;
return (0, _index2.default)(schema, { person: { lastName: 'López' } });
return (0, _index["default"])(schema, {
person: {
lastName: 'López'
}
});
case 3:
errors = _context19.sent;
expect(errors).toEqual({

@@ -725,10 +717,9 @@ 'person.name': 'required',

case 5:
case 'end':
case "end":
return _context19.stop();
}
}
}, _callee19, undefined);
}, _callee19);
})));
test('pass currentDoc validating arrays', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee22() {
test('pass currentDoc validating arrays', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee22() {
var aItem, doc, item, schema;

@@ -739,4 +730,8 @@ return regeneratorRuntime.wrap(function _callee22$(_context22) {

case 0:
aItem = { name: 'Nicolás' };
doc = { items: [aItem] };
aItem = {
name: 'Nicolás'
};
doc = {
items: [aItem]
};
item = {

@@ -746,6 +741,4 @@ name: {

validate: function validate(name, _ref15) {
var _this7 = this;
var currentDoc = _ref15.currentDoc;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee20() {
var currentDoc;
return regeneratorRuntime.wrap(function _callee20$(_context20) {

@@ -755,10 +748,11 @@ while (1) {

case 0:
currentDoc = _ref15.currentDoc;
expect(currentDoc).toBe(aItem);
case 1:
case 'end':
case 2:
case "end":
return _context20.stop();
}
}
}, _callee20, _this7);
}, _callee20);
}))();

@@ -772,6 +766,4 @@ }

validate: function validate(items, _ref16) {
var _this8 = this;
var currentDoc = _ref16.currentDoc;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee21() {
var currentDoc;
return regeneratorRuntime.wrap(function _callee21$(_context21) {

@@ -781,10 +773,11 @@ while (1) {

case 0:
currentDoc = _ref16.currentDoc;
expect(currentDoc).toBe(doc);
case 1:
case 'end':
case 2:
case "end":
return _context21.stop();
}
}
}, _callee21, _this8);
}, _callee21);
}))();

@@ -794,17 +787,14 @@ }

};
expect.assertions(2);
_context22.next = 7;
return (0, _index2.default)(schema, doc);
return (0, _index["default"])(schema, doc);
case 7:
case 'end':
case "end":
return _context22.stop();
}
}
}, _callee22, undefined);
}, _callee22);
})));
test('pass currentDoc validating complex schemas', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee30() {
test('pass currentDoc validating complex schemas', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee30() {
var aCar, aMom, aItem, doc, car, mom, item, schema;

@@ -815,6 +805,16 @@ return regeneratorRuntime.wrap(function _callee30$(_context30) {

case 0:
aCar = { brand: 'Jeep' };
aMom = { name: 'Paula', car: aCar };
aItem = { name: 'Nicolás', mom: aMom };
doc = { items: [aItem] };
aCar = {
brand: 'Jeep'
};
aMom = {
name: 'Paula',
car: aCar
};
aItem = {
name: 'Nicolás',
mom: aMom
};
doc = {
items: [aItem]
};
car = {

@@ -824,6 +824,4 @@ brand: {

validate: function validate(value, _ref18) {
var _this9 = this;
var currentDoc = _ref18.currentDoc;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee23() {
var currentDoc;
return regeneratorRuntime.wrap(function _callee23$(_context23) {

@@ -833,11 +831,12 @@ while (1) {

case 0:
currentDoc = _ref18.currentDoc;
expect(value).toEqual(aCar.brand);
expect(currentDoc).toEqual(aCar);
case 2:
case 'end':
case 3:
case "end":
return _context23.stop();
}
}
}, _callee23, _this9);
}, _callee23);
}))();

@@ -847,4 +846,2 @@ }

__validate: function __validate(value, info) {
var _this10 = this;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee24() {

@@ -859,7 +856,7 @@ return regeneratorRuntime.wrap(function _callee24$(_context24) {

case 2:
case 'end':
case "end":
return _context24.stop();
}
}
}, _callee24, _this10);
}, _callee24);
}))();

@@ -872,6 +869,4 @@ }

validate: function validate(value, _ref19) {
var _this11 = this;
var currentDoc = _ref19.currentDoc;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee25() {
var currentDoc;
return regeneratorRuntime.wrap(function _callee25$(_context25) {

@@ -881,11 +876,12 @@ while (1) {

case 0:
currentDoc = _ref19.currentDoc;
expect(value).toEqual(aMom.name);
expect(currentDoc).toEqual(aMom);
case 2:
case 'end':
case 3:
case "end":
return _context25.stop();
}
}
}, _callee25, _this11);
}, _callee25);
}))();

@@ -897,7 +893,4 @@ }

validate: function validate(value, _ref20) {
var _this12 = this;
var currentDoc = _ref20.currentDoc,
doc = _ref20.doc;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee26() {
var currentDoc, doc;
return regeneratorRuntime.wrap(function _callee26$(_context26) {

@@ -907,11 +900,12 @@ while (1) {

case 0:
currentDoc = _ref20.currentDoc, doc = _ref20.doc;
expect(value).toEqual(aMom.car);
expect(currentDoc).toEqual(aMom);
case 2:
case 'end':
case 3:
case "end":
return _context26.stop();
}
}
}, _callee26, _this12);
}, _callee26);
}))();

@@ -925,6 +919,4 @@ }

validate: function validate(value, _ref21) {
var _this13 = this;
var currentDoc = _ref21.currentDoc;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee27() {
var currentDoc;
return regeneratorRuntime.wrap(function _callee27$(_context27) {

@@ -934,11 +926,12 @@ while (1) {

case 0:
currentDoc = _ref21.currentDoc;
expect(value).toEqual(aItem.name);
expect(currentDoc).toEqual(aItem);
case 2:
case 'end':
case 3:
case "end":
return _context27.stop();
}
}
}, _callee27, _this13);
}, _callee27);
}))();

@@ -950,6 +943,4 @@ }

validate: function validate(value, _ref22) {
var _this14 = this;
var currentDoc = _ref22.currentDoc;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee28() {
var currentDoc;
return regeneratorRuntime.wrap(function _callee28$(_context28) {

@@ -959,11 +950,12 @@ while (1) {

case 0:
currentDoc = _ref22.currentDoc;
expect(value).toEqual(aItem.mom);
expect(currentDoc).toEqual(aItem);
case 2:
case 'end':
case 3:
case "end":
return _context28.stop();
}
}
}, _callee28, _this14);
}, _callee28);
}))();

@@ -977,6 +969,4 @@ }

validate: function validate(value, _ref23) {
var _this15 = this;
var currentDoc = _ref23.currentDoc;
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee29() {
var currentDoc;
return regeneratorRuntime.wrap(function _callee29$(_context29) {

@@ -986,11 +976,12 @@ while (1) {

case 0:
currentDoc = _ref23.currentDoc;
expect(value).toEqual(doc.items);
expect(currentDoc).toEqual(doc);
case 2:
case 'end':
case 3:
case "end":
return _context29.stop();
}
}
}, _callee29, _this15);
}, _callee29);
}))();

@@ -1000,14 +991,12 @@ }

};
expect.assertions(14);
_context30.next = 11;
return (0, _index2.default)(schema, doc);
return (0, _index["default"])(schema, doc);
case 11:
case 'end':
case "end":
return _context30.stop();
}
}
}, _callee30, undefined);
}, _callee30);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,55 +6,83 @@ Object.defineProperty(exports, "__esModule", {

});
exports.validateKey = exports.dotGetSchema = exports.cleanKey = exports.clean = exports.fieldType = exports.getFieldType = exports.isValid = exports.getValidationErrors = exports.ValidationError = exports.validate = undefined;
Object.defineProperty(exports, "validate", {
enumerable: true,
get: function get() {
return _validate["default"];
}
});
Object.defineProperty(exports, "ValidationError", {
enumerable: true,
get: function get() {
return _ValidationError["default"];
}
});
Object.defineProperty(exports, "getValidationErrors", {
enumerable: true,
get: function get() {
return _getValidationErrors["default"];
}
});
Object.defineProperty(exports, "isValid", {
enumerable: true,
get: function get() {
return _isValid["default"];
}
});
Object.defineProperty(exports, "getFieldType", {
enumerable: true,
get: function get() {
return _getFieldType["default"];
}
});
Object.defineProperty(exports, "fieldType", {
enumerable: true,
get: function get() {
return _fieldType["default"];
}
});
Object.defineProperty(exports, "clean", {
enumerable: true,
get: function get() {
return _clean["default"];
}
});
Object.defineProperty(exports, "cleanKey", {
enumerable: true,
get: function get() {
return _cleanKey["default"];
}
});
Object.defineProperty(exports, "validateKey", {
enumerable: true,
get: function get() {
return _validateKey["default"];
}
});
Object.defineProperty(exports, "dotGetSchema", {
enumerable: true,
get: function get() {
return _dotGetSchema["default"];
}
});
var _validate = require('./validate');
var _validate = _interopRequireDefault(require("./validate"));
var _validate2 = _interopRequireDefault(_validate);
var _ValidationError = _interopRequireDefault(require("./ValidationError"));
var _ValidationError = require('./ValidationError');
var _getValidationErrors = _interopRequireDefault(require("./getValidationErrors"));
var _ValidationError2 = _interopRequireDefault(_ValidationError);
var _isValid = _interopRequireDefault(require("./isValid"));
var _getValidationErrors = require('./getValidationErrors');
var _getFieldType = _interopRequireDefault(require("./getValidationErrors/getError/getFieldType"));
var _getValidationErrors2 = _interopRequireDefault(_getValidationErrors);
var _fieldType = _interopRequireDefault(require("./fieldType"));
var _isValid = require('./isValid');
var _clean = _interopRequireDefault(require("./clean"));
var _isValid2 = _interopRequireDefault(_isValid);
var _cleanKey = _interopRequireDefault(require("./cleanKey"));
var _getFieldType = require('./getValidationErrors/getError/getFieldType');
var _validateKey = _interopRequireDefault(require("./validateKey"));
var _getFieldType2 = _interopRequireDefault(_getFieldType);
var _dotGetSchema = _interopRequireDefault(require("./dotGetSchema"));
var _fieldType = require('./fieldType');
var _fieldType2 = _interopRequireDefault(_fieldType);
var _clean = require('./clean');
var _clean2 = _interopRequireDefault(_clean);
var _cleanKey = require('./cleanKey');
var _cleanKey2 = _interopRequireDefault(_cleanKey);
var _validateKey = require('./validateKey');
var _validateKey2 = _interopRequireDefault(_validateKey);
var _dotGetSchema = require('./dotGetSchema');
var _dotGetSchema2 = _interopRequireDefault(_dotGetSchema);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.validate = _validate2.default;
exports.ValidationError = _ValidationError2.default;
exports.getValidationErrors = _getValidationErrors2.default;
exports.isValid = _isValid2.default;
exports.getFieldType = _getFieldType2.default;
exports.fieldType = _fieldType2.default;
exports.clean = _clean2.default;
exports.cleanKey = _cleanKey2.default;
exports.dotGetSchema = _dotGetSchema2.default;
exports.validateKey = _validateKey2.default;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,13 +6,18 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = _default;
var _getValidationErrors = require('./getValidationErrors');
var _getValidationErrors = _interopRequireDefault(require("./getValidationErrors"));
var _getValidationErrors2 = _interopRequireDefault(_getValidationErrors);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
exports.default = function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
function _default() {
return _ref.apply(this, arguments);
}
function _ref() {
_ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var validationErrors,

@@ -25,19 +30,16 @@ _args = arguments;

_context.next = 2;
return _getValidationErrors2.default.apply(undefined, _args);
return _getValidationErrors["default"].apply(void 0, _args);
case 2:
validationErrors = _context.sent;
return _context.abrupt('return', !validationErrors);
return _context.abrupt("return", !validationErrors);
case 4:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, this);
}, _callee);
}));
return function () {
return _ref.apply(this, arguments);
};
}();
return _ref.apply(this, arguments);
}

@@ -1,10 +0,10 @@

'use strict';
"use strict";
var _isValid = require('./isValid');
var _isValid = _interopRequireDefault(require("./isValid"));
var _isValid2 = _interopRequireDefault(_isValid);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

@@ -20,7 +20,10 @@ var schema = {

};
var validObject = { firstName: 'Nicolás', lastName: 'López' };
var invalidObject = { lastName: 'López' };
test('returns true when object is valid', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var validObject = {
firstName: 'Nicolás',
lastName: 'López'
};
var invalidObject = {
lastName: 'López'
};
test('returns true when object is valid', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var result;

@@ -32,18 +35,16 @@ return regeneratorRuntime.wrap(function _callee$(_context) {

_context.next = 2;
return (0, _isValid2.default)(schema, validObject);
return (0, _isValid["default"])(schema, validObject);
case 2:
result = _context.sent;
expect(result).toBe(true);
case 4:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('returns false when object is invalid', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('returns false when object is invalid', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
var result;

@@ -55,15 +56,14 @@ return regeneratorRuntime.wrap(function _callee2$(_context2) {

_context2.next = 2;
return (0, _isValid2.default)(schema, invalidObject);
return (0, _isValid["default"])(schema, invalidObject);
case 2:
result = _context2.sent;
expect(result).toBe(false);
case 4:
case 'end':
case "end":
return _context2.stop();
}
}
}, _callee2, undefined);
}, _callee2);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,17 +6,20 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = _default;
var _ValidationError = require('./ValidationError');
var _ValidationError = _interopRequireDefault(require("./ValidationError"));
var _ValidationError2 = _interopRequireDefault(_ValidationError);
var _getValidationErrors = _interopRequireDefault(require("./getValidationErrors"));
var _getValidationErrors = require('./getValidationErrors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _getValidationErrors2 = _interopRequireDefault(_getValidationErrors);
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
function _default() {
return _ref.apply(this, arguments);
}
exports.default = function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
function _ref() {
_ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var validationErrors,

@@ -29,3 +32,3 @@ _args = arguments;

_context.next = 2;
return _getValidationErrors2.default.apply(undefined, _args);
return _getValidationErrors["default"].apply(void 0, _args);

@@ -40,15 +43,12 @@ case 2:

throw new _ValidationError2.default(validationErrors);
throw new _ValidationError["default"](validationErrors);
case 5:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, this);
}, _callee);
}));
return function () {
return _ref.apply(this, arguments);
};
}();
return _ref.apply(this, arguments);
}

@@ -1,10 +0,10 @@

'use strict';
"use strict";
var _validate = require('./validate');
var _validate = _interopRequireDefault(require("./validate"));
var _validate2 = _interopRequireDefault(_validate);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

@@ -20,7 +20,10 @@ var schema = {

};
var validObject = { firstName: 'Nicolás', lastName: 'López' };
var invalidObject = { lastName: 'López' };
test("doesn't throw any error when object is valid", _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var validObject = {
firstName: 'Nicolás',
lastName: 'López'
};
var invalidObject = {
lastName: 'López'
};
test("doesn't throw any error when object is valid", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
return regeneratorRuntime.wrap(function _callee$(_context) {

@@ -31,13 +34,12 @@ while (1) {

_context.next = 2;
return (0, _validate2.default)(schema, validObject);
return (0, _validate["default"])(schema, validObject);
case 2:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('throws validation error when object is invalid', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('throws validation error when object is invalid', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
return regeneratorRuntime.wrap(function _callee2$(_context2) {

@@ -50,3 +52,3 @@ while (1) {

_context2.next = 4;
return (0, _validate2.default)(schema, invalidObject);
return (0, _validate["default"])(schema, invalidObject);

@@ -59,12 +61,11 @@ case 4:

_context2.prev = 6;
_context2.t0 = _context2['catch'](1);
_context2.t0 = _context2["catch"](1);
expect(_context2.t0.code).toBe('validationError');
case 9:
case 'end':
case "end":
return _context2.stop();
}
}
}, _callee2, undefined, [[1, 6]]);
}, _callee2, null, [[1, 6]]);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,32 +6,22 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = _default;
exports.default = function (schema, path) {
if ((0, _isNil2.default)(schema)) {
throw new Error('You need to pass a schema');
}
return dotGet({ type: schema }, path);
};
var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject"));
var _isPlainObject = require('lodash/isPlainObject');
var _isNil = _interopRequireDefault(require("lodash/isNil"));
var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _isNil = require('lodash/isNil');
var _isNil2 = _interopRequireDefault(_isNil);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var dotGet = function dotGet(object, path) {
if (path === '') return object;
var pathParts = path.split('.');
var first = pathParts.shift();
var remainingPath = pathParts.join('.');
var levelObject = object.type;
if (first === '$' || /^[0-9]+$/.test(first)) {
return dotGet({ type: levelObject[0] }, remainingPath);
} else if ((0, _isPlainObject2.default)(levelObject[first])) {
return dotGet({
type: levelObject[0]
}, remainingPath);
} else if ((0, _isPlainObject["default"])(levelObject[first])) {
return dotGet(levelObject[first], remainingPath);

@@ -41,6 +31,20 @@ }

if (levelObject === 'blackbox') {
return { type: 'blackbox', optional: true, isBlackboxChild: true };
return {
type: 'blackbox',
optional: true,
isBlackboxChild: true
};
}
return null;
};
};
function _default(schema, path) {
if ((0, _isNil["default"])(schema)) {
throw new Error('You need to pass a schema');
}
return dotGet({
type: schema
}, path);
}

@@ -1,10 +0,10 @@

'use strict';
"use strict";
var _dotGetSchema = require('./dotGetSchema');
var _dotGetSchema = _interopRequireDefault(require("./dotGetSchema"));
var _dotGetSchema2 = _interopRequireDefault(_dotGetSchema);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

@@ -32,4 +32,3 @@ var tag = {

};
test('handle deep schemas', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
test('handle deep schemas', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var value;

@@ -40,15 +39,13 @@ return regeneratorRuntime.wrap(function _callee$(_context) {

case 0:
value = (0, _dotGetSchema2.default)(schema, 'car.brand');
value = (0, _dotGetSchema["default"])(schema, 'car.brand');
expect(value).toBe(schema.car.type.brand);
case 2:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('throw error when no schema is passed', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('throw error when no schema is passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
return regeneratorRuntime.wrap(function _callee2$(_context2) {

@@ -59,4 +56,5 @@ while (1) {

expect.assertions(1);
try {
(0, _dotGetSchema2.default)(null, 'car.brand');
(0, _dotGetSchema["default"])(null, 'car.brand');
} catch (error) {

@@ -67,10 +65,9 @@ expect(error.message).toBe('You need to pass a schema');

case 2:
case 'end':
case "end":
return _context2.stop();
}
}
}, _callee2, undefined);
}, _callee2);
})));
test('handle invalid paths', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
test('handle invalid paths', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
var value;

@@ -81,15 +78,13 @@ return regeneratorRuntime.wrap(function _callee3$(_context3) {

case 0:
value = (0, _dotGetSchema2.default)(schema, 'car.brand.name');
value = (0, _dotGetSchema["default"])(schema, 'car.brand.name');
expect(value).toBeNull();
case 2:
case 'end':
case "end":
return _context3.stop();
}
}
}, _callee3, undefined);
}, _callee3);
})));
test('finds array first item when $ is passed', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
test('finds array first item when $ is passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
var value;

@@ -100,15 +95,13 @@ return regeneratorRuntime.wrap(function _callee4$(_context4) {

case 0:
value = (0, _dotGetSchema2.default)(schema, 'car.tags.$.name');
value = (0, _dotGetSchema["default"])(schema, 'car.tags.$.name');
expect(value).toBe(tag.name);
case 2:
case 'end':
case "end":
return _context4.stop();
}
}
}, _callee4, undefined);
}, _callee4);
})));
test('replaces numbers to $', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
test('replaces numbers to $', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
return regeneratorRuntime.wrap(function _callee5$(_context5) {

@@ -118,14 +111,13 @@ while (1) {

case 0:
expect((0, _dotGetSchema2.default)(schema, 'car.tags.0.name')).toBe(tag.name);
expect((0, _dotGetSchema2.default)(schema, 'car.tags.1123.name')).toBe(tag.name);
expect((0, _dotGetSchema["default"])(schema, 'car.tags.0.name')).toBe(tag.name);
expect((0, _dotGetSchema["default"])(schema, 'car.tags.1123.name')).toBe(tag.name);
case 2:
case 'end':
case "end":
return _context5.stop();
}
}
}, _callee5, undefined);
}, _callee5);
})));
test('returns information when is blackbox child', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
test('returns information when is blackbox child', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
var schema;

@@ -141,13 +133,12 @@ return regeneratorRuntime.wrap(function _callee6$(_context6) {

};
expect((0, _dotGetSchema["default"])(schema, 'services')).toBe(schema.services);
expect((0, _dotGetSchema["default"])(schema, 'services').isBlackboxChild).toBeUndefined();
expect((0, _dotGetSchema["default"])(schema, 'services.phoneVerification').isBlackboxChild).toBe(true);
expect((0, _dotGetSchema2.default)(schema, 'services')).toBe(schema.services);
expect((0, _dotGetSchema2.default)(schema, 'services').isBlackboxChild).toBeUndefined();
expect((0, _dotGetSchema2.default)(schema, 'services.phoneVerification').isBlackboxChild).toBe(true);
case 4:
case 'end':
case "end":
return _context6.stop();
}
}
}, _callee6, undefined);
}, _callee6);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,20 +6,21 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = _default;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _dotGetSchema = _interopRequireDefault(require("./dotGetSchema"));
var _dotGetSchema = require('./dotGetSchema');
var _getValidationErrors = _interopRequireDefault(require("../getValidationErrors"));
var _dotGetSchema2 = _interopRequireDefault(_dotGetSchema);
var _Errors = _interopRequireDefault(require("../Errors"));
var _getValidationErrors = require('../getValidationErrors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _getValidationErrors2 = _interopRequireDefault(_getValidationErrors);
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
var _Errors = require('../Errors');
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
var _Errors2 = _interopRequireDefault(_Errors);
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

@@ -30,11 +31,17 @@ var defaultOptions = {

exports.default = function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(schema, key, value) {
var passedOptions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
function _default(_x, _x2, _x3) {
return _ref.apply(this, arguments);
}
for (var _len = arguments.length, args = Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) {
args[_key - 4] = arguments[_key];
}
function _ref() {
_ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(schema, key, value) {
var passedOptions,
options,
keySchema,
_len,
args,
_key,
result,
_args = arguments;
var options, keySchema, result;
return regeneratorRuntime.wrap(function _callee$(_context) {

@@ -44,7 +51,8 @@ while (1) {

case 0:
options = _extends({}, defaultOptions, passedOptions);
keySchema = (0, _dotGetSchema2.default)(schema, key);
passedOptions = _args.length > 3 && _args[3] !== undefined ? _args[3] : {};
options = _objectSpread(_objectSpread({}, defaultOptions), passedOptions);
keySchema = (0, _dotGetSchema["default"])(schema, key);
if (keySchema) {
_context.next = 8;
_context.next = 9;
break;

@@ -54,47 +62,52 @@ }

if (!options.filter) {
_context.next = 7;
_context.next = 8;
break;
}
return _context.abrupt('return', _Errors2.default.NOT_IN_SCHEMA);
return _context.abrupt("return", _Errors["default"].NOT_IN_SCHEMA);
case 7:
return _context.abrupt('return', null);
case 8:
return _context.abrupt("return", null);
case 8:
case 9:
if (!keySchema.isBlackboxChild) {
_context.next = 10;
_context.next = 11;
break;
}
return _context.abrupt('return', null);
return _context.abrupt("return", null);
case 10:
_context.next = 12;
return _getValidationErrors2.default.apply(undefined, [{ validate: keySchema }, { validate: value }, options].concat(args));
case 11:
for (_len = _args.length, args = new Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) {
args[_key - 4] = _args[_key];
}
case 12:
_context.next = 14;
return _getValidationErrors["default"].apply(void 0, [{
validate: keySchema
}, {
validate: value
}, options].concat(args));
case 14:
result = _context.sent;
if (result) {
_context.next = 15;
_context.next = 17;
break;
}
return _context.abrupt('return', null);
return _context.abrupt("return", null);
case 15:
return _context.abrupt('return', result.validate);
case 17:
return _context.abrupt("return", result.validate);
case 16:
case 'end':
case 18:
case "end":
return _context.stop();
}
}
}, _callee, this);
}, _callee);
}));
return function (_x, _x2, _x3) {
return _ref.apply(this, arguments);
};
}();
return _ref.apply(this, arguments);
}

@@ -1,16 +0,14 @@

'use strict';
"use strict";
var _index = require('./index');
var _index = _interopRequireDefault(require("./index"));
var _index2 = _interopRequireDefault(_index);
var _Errors = _interopRequireDefault(require("../Errors"));
var _Errors = require('../Errors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors2 = _interopRequireDefault(_Errors);
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
test('autoconvert value', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
test('autoconvert value', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var schema, errors;

@@ -27,18 +25,16 @@ return regeneratorRuntime.wrap(function _callee$(_context) {

_context.next = 3;
return (0, _index2.default)(schema, 'number', '12');
return (0, _index["default"])(schema, 'number', '12');
case 3:
errors = _context.sent;
expect(errors).toEqual(_Errors["default"].NOT_A_NUMBER);
expect(errors).toEqual(_Errors2.default.NOT_A_NUMBER);
case 5:
case 'end':
case "end":
return _context.stop();
}
}
}, _callee, undefined);
}, _callee);
})));
test('deep validate fields', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
test('deep validate fields', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
var tag, car, schema;

@@ -72,3 +68,3 @@ return regeneratorRuntime.wrap(function _callee2$(_context2) {

_context2.next = 6;
return (0, _index2.default)(schema, 'car.brand', 'Nissan');
return (0, _index["default"])(schema, 'car.brand', 'Nissan');

@@ -80,50 +76,44 @@ case 6:

_context2.next = 11;
return (0, _index2.default)(schema, 'car.tags', 'Nice');
return (0, _index["default"])(schema, 'car.tags', 'Nice');
case 11:
_context2.t3 = _context2.sent;
_context2.t4 = _Errors2.default.NOT_AN_ARRAY;
(0, _context2.t2)(_context2.t3).toBe(_context2.t4);
_context2.t5 = expect;
_context2.next = 17;
return (0, _index2.default)(schema, 'name', null);
(0, _context2.t2)(_context2.t3).toBe(_Errors["default"].NOT_AN_ARRAY);
_context2.t4 = expect;
_context2.next = 16;
return (0, _index["default"])(schema, 'name', null);
case 17:
_context2.t6 = _context2.sent;
_context2.t7 = _Errors2.default.REQUIRED;
(0, _context2.t5)(_context2.t6).toBe(_context2.t7);
case 16:
_context2.t5 = _context2.sent;
(0, _context2.t4)(_context2.t5).toBe(_Errors["default"].REQUIRED);
_context2.t6 = expect;
_context2.next = 21;
return (0, _index["default"])(schema, 'car', null);
case 21:
_context2.t7 = _context2.sent;
(0, _context2.t6)(_context2.t7).toBe(_Errors["default"].REQUIRED);
_context2.t8 = expect;
_context2.next = 23;
return (0, _index2.default)(schema, 'car', null);
_context2.next = 26;
return (0, _index["default"])(schema, 'car.tags.$.name', 12);
case 23:
case 26:
_context2.t9 = _context2.sent;
_context2.t10 = _Errors2.default.REQUIRED;
(0, _context2.t8)(_context2.t9).toBe(_context2.t10);
_context2.t11 = expect;
_context2.next = 29;
return (0, _index2.default)(schema, 'car.tags.$.name', 12);
(0, _context2.t8)(_context2.t9).toBe(_Errors["default"].NOT_A_STRING);
_context2.t10 = expect;
_context2.next = 31;
return (0, _index["default"])(schema, 'car.tags.100.name', 12);
case 29:
_context2.t12 = _context2.sent;
_context2.t13 = _Errors2.default.NOT_A_STRING;
(0, _context2.t11)(_context2.t12).toBe(_context2.t13);
_context2.t14 = expect;
_context2.next = 35;
return (0, _index2.default)(schema, 'car.tags.100.name', 12);
case 31:
_context2.t11 = _context2.sent;
(0, _context2.t10)(_context2.t11).toBe(_Errors["default"].NOT_A_STRING);
case 35:
_context2.t15 = _context2.sent;
_context2.t16 = _Errors2.default.NOT_A_STRING;
(0, _context2.t14)(_context2.t15).toBe(_context2.t16);
case 38:
case 'end':
case 33:
case "end":
return _context2.stop();
}
}
}, _callee2, undefined);
}, _callee2);
})));
test('filters keys not in schema', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
test('filters keys not in schema', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
var schema;

@@ -141,3 +131,3 @@ return regeneratorRuntime.wrap(function _callee3$(_context3) {

_context3.next = 4;
return (0, _index2.default)(schema, 'person.name', 'Nicolás');
return (0, _index["default"])(schema, 'person.name', 'Nicolás');

@@ -149,10 +139,9 @@ case 4:

case 6:
case 'end':
case "end":
return _context3.stop();
}
}
}, _callee3, undefined);
}, _callee3);
})));
test('dont filter keys not in schema if specified', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
test('dont filter keys not in schema if specified', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
var schema;

@@ -170,18 +159,18 @@ return regeneratorRuntime.wrap(function _callee4$(_context4) {

_context4.next = 4;
return (0, _index2.default)(schema, 'person.name', 'Nicolás', { filter: true });
return (0, _index["default"])(schema, 'person.name', 'Nicolás', {
filter: true
});
case 4:
_context4.t1 = _context4.sent;
_context4.t2 = _Errors2.default.NOT_IN_SCHEMA;
(0, _context4.t0)(_context4.t1).toBe(_context4.t2);
(0, _context4.t0)(_context4.t1).toBe(_Errors["default"].NOT_IN_SCHEMA);
case 7:
case 'end':
case 6:
case "end":
return _context4.stop();
}
}
}, _callee4, undefined);
}, _callee4);
})));
test('should handle $ correctly', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
test('should handle $ correctly', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
var Email, user;

@@ -207,3 +196,3 @@ return regeneratorRuntime.wrap(function _callee5$(_context5) {

_context5.next = 5;
return (0, _index2.default)(user, 'emails.$.verified', true);
return (0, _index["default"])(user, 'emails.$.verified', true);

@@ -215,10 +204,9 @@ case 5:

case 7:
case 'end':
case "end":
return _context5.stop();
}
}
}, _callee5, undefined);
}, _callee5);
})));
test('validate blackbox child', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
test('validate blackbox child', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
var schema;

@@ -230,11 +218,13 @@ return regeneratorRuntime.wrap(function _callee6$(_context6) {

schema = {
_id: { type: 'ID' },
services: { type: 'blackbox' }
_id: {
type: 'ID'
},
services: {
type: 'blackbox'
}
};
console.log('will validtea blackbox');
_context6.t0 = expect;
_context6.next = 5;
return (0, _index2.default)(schema, 'services.phoneVerification.tries', 1);
return (0, _index["default"])(schema, 'services.phoneVerification.tries', 1);

@@ -246,7 +236,7 @@ case 5:

case 7:
case 'end':
case "end":
return _context6.stop();
}
}
}, _callee6, undefined);
}, _callee6);
})));

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,22 +6,43 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = void 0;
var _isPlainObject = require('lodash/isPlainObject');
var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject"));
var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _typeof(obj) { "@babel/helpers - typeof"; 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); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
var ValidationError = function (_Error) {
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }
function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
var ValidationError = /*#__PURE__*/function (_Error) {
_inherits(ValidationError, _Error);
var _super = _createSuper(ValidationError);
function ValidationError(validationErrors) {
var _this;
_classCallCheck(this, ValidationError);
if (!(0, _isPlainObject2.default)(validationErrors)) {
if (!(0, _isPlainObject["default"])(validationErrors)) {
throw new Error('ValidationError must be initialized with an errors object');

@@ -31,10 +52,7 @@ }

var printableErrors = Object.keys(validationErrors).map(function (key) {
return key + ': ' + validationErrors[key];
return "".concat(key, ": ").concat(validationErrors[key]);
}).join(', ');
var message = 'Validation Error: {' + printableErrors + '}';
var _this = _possibleConstructorReturn(this, (ValidationError.__proto__ || Object.getPrototypeOf(ValidationError)).call(this, message));
Error.captureStackTrace(_this, _this.constructor);
var message = "Validation Error: {".concat(printableErrors, "}");
_this = _super.call(this, message);
Error.captureStackTrace(_assertThisInitialized(_this), _this.constructor);
_this.code = 'validationError';

@@ -55,28 +73,7 @@ _this.isValidationError = true;

var newErrors = {};
var keys = Object.keys(_this.validationErrors);
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var key = _step.value;
newErrors[prepend + '.' + key] = _this.validationErrors[key];
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
for (var _i = 0, _keys = keys; _i < _keys.length; _i++) {
var key = _keys[_i];
newErrors["".concat(prepend, ".").concat(key)] = _this.validationErrors[key];
}

@@ -86,2 +83,3 @@

};
return _this;

@@ -91,4 +89,4 @@ }

return ValidationError;
}(Error);
}( /*#__PURE__*/_wrapNativeSuper(Error));
exports.default = ValidationError;
exports["default"] = ValidationError;

@@ -1,44 +0,46 @@

'use strict';
"use strict";
var _ValidationError = require('./ValidationError');
var _ValidationError = _interopRequireDefault(require("./ValidationError"));
var _ValidationError2 = _interopRequireDefault(_ValidationError);
var _Errors = _interopRequireDefault(require("./Errors"));
var _Errors = require('./Errors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Errors2 = _interopRequireDefault(_Errors);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
test("don't allow to create a ValidationError with no error", function () {
expect(function () {
// eslint-disable-next-line
new _ValidationError2.default();
new _ValidationError["default"]();
}).toThrow();
});
test('ValidationError is instance of Error', function () {
var error = new _ValidationError2.default({ name: _Errors2.default.REQUIRED });
var error = new _ValidationError["default"]({
name: _Errors["default"].REQUIRED
});
expect(error).toBeInstanceOf(Error);
});
test('message to be show error information', function () {
var error = new _ValidationError2.default({ name: _Errors2.default.REQUIRED });
var error = new _ValidationError["default"]({
name: _Errors["default"].REQUIRED
});
expect(error.message).toBe('Validation Error: {name: required}');
});
test('prepends keys', function () {
var error = new _ValidationError2.default({ name: _Errors2.default.REQUIRED });
var error = new _ValidationError["default"]({
name: _Errors["default"].REQUIRED
});
expect(error.prependKey('person').message).toBe('Validation Error: {person.name: required}');
});
test('getInfo to return error information in correct format', function () {
var validationError = { name: _Errors2.default.REQUIRED };
var error = new _ValidationError2.default(validationError);
var validationError = {
name: _Errors["default"].REQUIRED
};
var error = new _ValidationError["default"](validationError);
var info = {
error: 'validationError',
message: 'Validation Error',
validationErrors: { name: _Errors2.default.REQUIRED }
validationErrors: {
name: _Errors["default"].REQUIRED
}
};
expect(error.getInfo()).toEqual(info);
});
{
"name": "@orion-js/schema",
"version": "0.19.2",
"version": "0.19.8",
"main": "index.js",

@@ -10,3 +10,3 @@ "author": "nicolaslopezj",

"prepare": "yarn run build",
"watch": "rm -rf ./lib && babel ./src --watch --out-dir ./lib --presets es2015,stage-2",
"watch": "rm -rf ./lib && babel ./src --watch --out-dir ./lib",
"test": "jest src"

@@ -19,6 +19,8 @@ },

"devDependencies": {
"@babel/cli": "^7.5.5",
"@babel/core": "^7.5.5",
"@babel/plugin-transform-runtime": "^7.5.5",
"@babel/preset-env": "^7.5.5",
"@babel/runtime": "^7.5.5",
"babel-jest": "^23.4.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-stage-2": "^6.24.1",
"eslint-config-orionsoft": "^1.2.8",
"jest": "^23.4.1"

@@ -29,3 +31,3 @@ },

},
"gitHead": "b87ae98c03c9748afa682876871718f30028a198"
"gitHead": "89937dab8542416f610c252b3af42ecce7601841"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc