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