1+ 'use strict' ;
2+
3+ Object . defineProperty ( exports , "__esModule" , {
4+ value : true
5+ } ) ;
6+ exports . validators = undefined ;
7+ exports . validate = validate ;
8+
9+ var _lodash = require ( 'lodash.pairs' ) ;
10+
11+ var _lodash2 = _interopRequireDefault ( _lodash ) ;
12+
13+ var _lodash3 = require ( 'lodash.frompairs' ) ;
14+
15+ var _lodash4 = _interopRequireDefault ( _lodash3 ) ;
16+
17+ var _lodash5 = require ( 'lodash.isfunction' ) ;
18+
19+ var _lodash6 = _interopRequireDefault ( _lodash5 ) ;
20+
21+ var _lodash7 = require ( 'lodash.isobject' ) ;
22+
23+ var _lodash8 = _interopRequireDefault ( _lodash7 ) ;
24+
25+ var _lodash9 = require ( 'lodash.isempty' ) ;
26+
27+ var _lodash10 = _interopRequireDefault ( _lodash9 ) ;
28+
29+ var _validators = require ( './validators' ) ;
30+
31+ var _validators2 = _interopRequireDefault ( _validators ) ;
32+
33+ function _interopRequireDefault ( obj ) { return obj && obj . __esModule ? obj : { default : obj } ; }
34+
35+ 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 ) ; } }
36+
37+ var validators = exports . validators = _validators2 . default ;
38+
39+ function validate ( data , validationSpec ) {
40+ var pairs = ( 0 , _lodash2 . default ) ( validationSpec ) ;
41+
42+ var errorPairs = pairs . reduce ( function ( acc , pair ) {
43+ var key = pair [ 0 ] ;
44+ var value = pair [ 1 ] ;
45+
46+ if ( ( 0 , _lodash6 . default ) ( value ) ) {
47+ var validationResult = value ( data [ key ] ) ;
48+ if ( ! validationResult ) {
49+ return acc ;
50+ } else {
51+ return [ ] . concat ( _toConsumableArray ( acc ) , [ [ key , validationResult ] ] ) ;
52+ }
53+ }
54+
55+ if ( ( 0 , _lodash8 . default ) ( value ) ) {
56+ var _validationResult = validate ( data [ key ] || { } , value ) ;
57+
58+ if ( ( 0 , _lodash10 . default ) ( _validationResult ) ) {
59+ return acc ;
60+ } else {
61+ return [ ] . concat ( _toConsumableArray ( acc ) , [ [ key , _validationResult ] ] ) ;
62+ }
63+ }
64+
65+ return acc ;
66+ } , [ ] ) ;
67+
68+ return ( 0 , _lodash4 . default ) ( errorPairs ) ;
69+ }
0 commit comments