| 'use strict'; | 
|   | 
| Object.defineProperty(exports, "__esModule", { | 
|   value: true | 
| }); | 
|   | 
| var _util = require('../util'); | 
|   | 
| var util = _interopRequireWildcard(_util); | 
|   | 
| function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } | 
|   | 
| var ENUM = 'enum'; | 
|   | 
| /** | 
|  *  Rule for validating a value exists in an enumerable list. | 
|  * | 
|  *  @param rule The validation rule. | 
|  *  @param value The value of the field on the source object. | 
|  *  @param source The source object being validated. | 
|  *  @param errors An array of errors that this rule may add | 
|  *  validation errors to. | 
|  *  @param options The validation options. | 
|  *  @param options.messages The validation messages. | 
|  */ | 
| function enumerable(rule, value, source, errors, options) { | 
|   rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : []; | 
|   if (rule[ENUM].indexOf(value) === -1) { | 
|     errors.push(util.format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', '))); | 
|   } | 
| } | 
|   | 
| exports['default'] = enumerable; | 
| module.exports = exports['default']; |