| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | 
							- 'use strict';
 
- Object.defineProperty(exports, "__esModule", {
 
-   value: true
 
- });
 
- var _rule = require('../rule/');
 
- var _rule2 = _interopRequireDefault(_rule);
 
- var _util = require('../util');
 
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
 
- var ENUM = 'enum';
 
- /**
 
-  *  Validates an enumerable list.
 
-  *
 
-  *  @param rule The validation rule.
 
-  *  @param value The value of the field on the source object.
 
-  *  @param callback The callback function.
 
-  *  @param source The source object being validated.
 
-  *  @param options The validation options.
 
-  *  @param options.messages The validation messages.
 
-  */
 
- function enumerable(rule, value, callback, source, options) {
 
-   var errors = [];
 
-   var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
 
-   if (validate) {
 
-     if ((0, _util.isEmptyValue)(value) && !rule.required) {
 
-       return callback();
 
-     }
 
-     _rule2['default'].required(rule, value, source, errors, options);
 
-     if (value) {
 
-       _rule2['default'][ENUM](rule, value, source, errors, options);
 
-     }
 
-   }
 
-   callback(errors);
 
- }
 
- exports['default'] = enumerable;
 
- module.exports = exports['default'];
 
 
  |