UNPKG

braintree

Version:

A library for integrating with Braintree.

70 lines (57 loc) 1.97 kB
//@ sourceMappingURL=validation_errors_collection.map // Generated by CoffeeScript 1.6.1 var Util, ValidationError, ValidationErrorsCollection; Util = require('./util').Util; ValidationError = require('./validation_error').ValidationError; ValidationErrorsCollection = (function() { function ValidationErrorsCollection(errorAttributes) { var key, val; this.validationErrors = {}; this.errorCollections = {}; for (key in errorAttributes) { val = errorAttributes[key]; if (key === 'errors') { this.buildErrors(val); } else { this.errorCollections[key] = new ValidationErrorsCollection(val); } } } ValidationErrorsCollection.prototype.buildErrors = function(errors) { var item, key, _base, _i, _len, _results; _results = []; for (_i = 0, _len = errors.length; _i < _len; _i++) { item = errors[_i]; key = Util.toCamelCase(item.attribute); (_base = this.validationErrors)[key] || (_base[key] = []); _results.push(this.validationErrors[key].push(new ValidationError(item))); } return _results; }; ValidationErrorsCollection.prototype.deepErrors = function() { var errors, key, val, _ref, _ref1; errors = []; _ref = this.validationErrors; for (key in _ref) { val = _ref[key]; errors = errors.concat(val); } _ref1 = this.errorCollections; for (key in _ref1) { val = _ref1[key]; errors = errors.concat(val.deepErrors()); } return errors; }; ValidationErrorsCollection.prototype["for"] = function(name) { return this.errorCollections[name]; }; ValidationErrorsCollection.prototype.forIndex = function(index) { return this.errorCollections["index" + index]; }; ValidationErrorsCollection.prototype.on = function(name) { return this.validationErrors[name]; }; return ValidationErrorsCollection; })(); exports.ValidationErrorsCollection = ValidationErrorsCollection;