Просмотр исходного кода

引入elementUI 文件中心功能开发

bobo04052021@163.com 3 месяцев назад
Родитель
Сommit
fc0fb9dfb3
100 измененных файлов с 3391 добавлено и 0 удалено
  1. 10 0
      api/api.js
  2. 3 0
      main.js
  3. 26 0
      node_modules/async-validator/HISTORY.md
  4. 9 0
      node_modules/async-validator/LICENSE.md
  5. 365 0
      node_modules/async-validator/README.md
  6. 262 0
      node_modules/async-validator/es/index.js
  7. 56 0
      node_modules/async-validator/es/messages.js
  8. 22 0
      node_modules/async-validator/es/rule/enum.js
  9. 15 0
      node_modules/async-validator/es/rule/index.js
  10. 33 0
      node_modules/async-validator/es/rule/pattern.js
  11. 58 0
      node_modules/async-validator/es/rule/range.js
  12. 20 0
      node_modules/async-validator/es/rule/required.js
  13. 88 0
      node_modules/async-validator/es/rule/type.js
  14. 20 0
      node_modules/async-validator/es/rule/whitespace.js
  15. 188 0
      node_modules/async-validator/es/util.js
  16. 29 0
      node_modules/async-validator/es/validator/array.js
  17. 29 0
      node_modules/async-validator/es/validator/boolean.js
  18. 32 0
      node_modules/async-validator/es/validator/date.js
  19. 30 0
      node_modules/async-validator/es/validator/enum.js
  20. 30 0
      node_modules/async-validator/es/validator/float.js
  21. 33 0
      node_modules/async-validator/es/validator/index.js
  22. 30 0
      node_modules/async-validator/es/validator/integer.js
  23. 29 0
      node_modules/async-validator/es/validator/method.js
  24. 30 0
      node_modules/async-validator/es/validator/number.js
  25. 29 0
      node_modules/async-validator/es/validator/object.js
  26. 32 0
      node_modules/async-validator/es/validator/pattern.js
  27. 29 0
      node_modules/async-validator/es/validator/regexp.js
  28. 11 0
      node_modules/async-validator/es/validator/required.js
  29. 34 0
      node_modules/async-validator/es/validator/string.js
  30. 20 0
      node_modules/async-validator/es/validator/type.js
  31. 281 0
      node_modules/async-validator/lib/index.js
  32. 62 0
      node_modules/async-validator/lib/messages.js
  33. 34 0
      node_modules/async-validator/lib/rule/enum.js
  34. 41 0
      node_modules/async-validator/lib/rule/index.js
  35. 44 0
      node_modules/async-validator/lib/rule/pattern.js
  36. 69 0
      node_modules/async-validator/lib/rule/range.js
  37. 31 0
      node_modules/async-validator/lib/rule/required.js
  38. 107 0
      node_modules/async-validator/lib/rule/type.js
  39. 31 0
      node_modules/async-validator/lib/rule/whitespace.js
  40. 210 0
      node_modules/async-validator/lib/util.js
  41. 42 0
      node_modules/async-validator/lib/validator/array.js
  42. 41 0
      node_modules/async-validator/lib/validator/boolean.js
  43. 44 0
      node_modules/async-validator/lib/validator/date.js
  44. 43 0
      node_modules/async-validator/lib/validator/enum.js
  45. 42 0
      node_modules/async-validator/lib/validator/float.js
  46. 83 0
      node_modules/async-validator/lib/validator/index.js
  47. 42 0
      node_modules/async-validator/lib/validator/integer.js
  48. 41 0
      node_modules/async-validator/lib/validator/method.js
  49. 42 0
      node_modules/async-validator/lib/validator/number.js
  50. 41 0
      node_modules/async-validator/lib/validator/object.js
  51. 44 0
      node_modules/async-validator/lib/validator/pattern.js
  52. 41 0
      node_modules/async-validator/lib/validator/regexp.js
  53. 25 0
      node_modules/async-validator/lib/validator/required.js
  54. 46 0
      node_modules/async-validator/lib/validator/string.js
  55. 32 0
      node_modules/async-validator/lib/validator/type.js
  56. 85 0
      node_modules/async-validator/package.json
  57. 50 0
      node_modules/babel-helper-vue-jsx-merge-props/index.js
  58. 48 0
      node_modules/babel-helper-vue-jsx-merge-props/package.json
  59. 2 0
      node_modules/babel-runtime/.npmignore
  60. 2 0
      node_modules/babel-runtime/README.md
  61. 4 0
      node_modules/babel-runtime/core-js.js
  62. 1 0
      node_modules/babel-runtime/core-js/array/concat.js
  63. 1 0
      node_modules/babel-runtime/core-js/array/copy-within.js
  64. 1 0
      node_modules/babel-runtime/core-js/array/entries.js
  65. 1 0
      node_modules/babel-runtime/core-js/array/every.js
  66. 1 0
      node_modules/babel-runtime/core-js/array/fill.js
  67. 1 0
      node_modules/babel-runtime/core-js/array/filter.js
  68. 1 0
      node_modules/babel-runtime/core-js/array/find-index.js
  69. 1 0
      node_modules/babel-runtime/core-js/array/find.js
  70. 1 0
      node_modules/babel-runtime/core-js/array/for-each.js
  71. 1 0
      node_modules/babel-runtime/core-js/array/from.js
  72. 1 0
      node_modules/babel-runtime/core-js/array/includes.js
  73. 1 0
      node_modules/babel-runtime/core-js/array/index-of.js
  74. 1 0
      node_modules/babel-runtime/core-js/array/join.js
  75. 1 0
      node_modules/babel-runtime/core-js/array/keys.js
  76. 1 0
      node_modules/babel-runtime/core-js/array/last-index-of.js
  77. 1 0
      node_modules/babel-runtime/core-js/array/map.js
  78. 1 0
      node_modules/babel-runtime/core-js/array/of.js
  79. 1 0
      node_modules/babel-runtime/core-js/array/pop.js
  80. 1 0
      node_modules/babel-runtime/core-js/array/push.js
  81. 1 0
      node_modules/babel-runtime/core-js/array/reduce-right.js
  82. 1 0
      node_modules/babel-runtime/core-js/array/reduce.js
  83. 1 0
      node_modules/babel-runtime/core-js/array/reverse.js
  84. 1 0
      node_modules/babel-runtime/core-js/array/shift.js
  85. 1 0
      node_modules/babel-runtime/core-js/array/slice.js
  86. 1 0
      node_modules/babel-runtime/core-js/array/some.js
  87. 1 0
      node_modules/babel-runtime/core-js/array/sort.js
  88. 1 0
      node_modules/babel-runtime/core-js/array/splice.js
  89. 1 0
      node_modules/babel-runtime/core-js/array/unshift.js
  90. 1 0
      node_modules/babel-runtime/core-js/array/values.js
  91. 1 0
      node_modules/babel-runtime/core-js/asap.js
  92. 1 0
      node_modules/babel-runtime/core-js/clear-immediate.js
  93. 1 0
      node_modules/babel-runtime/core-js/error/is-error.js
  94. 1 0
      node_modules/babel-runtime/core-js/get-iterator.js
  95. 1 0
      node_modules/babel-runtime/core-js/is-iterable.js
  96. 1 0
      node_modules/babel-runtime/core-js/json/stringify.js
  97. 1 0
      node_modules/babel-runtime/core-js/map.js
  98. 1 0
      node_modules/babel-runtime/core-js/math/acosh.js
  99. 1 0
      node_modules/babel-runtime/core-js/math/asinh.js
  100. 1 0
      node_modules/babel-runtime/core-js/math/atanh.js

+ 10 - 0
api/api.js

@@ -124,6 +124,16 @@ const apiService = {
     const url = buildURL("/activiti/activiti_process/listData", params);
     return http.get(url);
   },
+  //审批进度
+  gethistoricFlowNew(params) {
+    const url = buildURL("/safety/actTask/historicFlowNew", params);
+    return http.get(url);
+  },
+  //审批进度图
+  getHighlightImgNew(params) {
+    const url = buildURL("/activiti/models/getHighlightImgNew", params);
+    return http.get(url);
+  },
   /**
    * 获取文件访问路径
    * @param avatar

+ 3 - 0
main.js

@@ -18,6 +18,9 @@ Vue.prototype.$tip = tip;
 Vue.prototype.$config = configService;
 import uView from "@/uni_modules/uview-ui";
 Vue.use(uView);
+import ElementUI from "element-ui";
+import "element-ui/lib/theme-chalk/index.css";
+Vue.use(ElementUI);
 // request请求
 import { http } from "@/common/service/service.js";
 Vue.prototype.$http = http;

+ 26 - 0
node_modules/async-validator/HISTORY.md

@@ -0,0 +1,26 @@
+# History
+----
+
+## 1.8.0 / 2017-08-16
+
+- validator support return promise.
+
+## 1.7.0 / 2017-06/09
+
+- add es
+- support string patter
+
+## 1.6.0 / 2016-03-30
+
+- support defaultField
+
+## 1.5.0 / 2016-02-02
+
+- support deep merge with default messages
+- support rule message of any type(exp: jsx)
+
+## 1.4.0 / 2015-01-12
+
+- fix first option. 
+- add firstFields option.
+- see tests/validator.spec.js

+ 9 - 0
node_modules/async-validator/LICENSE.md

@@ -0,0 +1,9 @@
+The MIT License (MIT)
+
+Copyright (c) 2014-present yiminghe
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 365 - 0
node_modules/async-validator/README.md

@@ -0,0 +1,365 @@
+# async-validator
+---
+
+Validate form asynchronous. A variation of https://github.com/freeformsystems/async-validate
+
+[![NPM version][npm-image]][npm-url]
+[![build status][travis-image]][travis-url]
+[![Test coverage][coveralls-image]][coveralls-url]
+[![gemnasium deps][gemnasium-image]][gemnasium-url]
+[![node version][node-image]][node-url]
+[![npm download][download-image]][download-url]
+
+[npm-image]: http://img.shields.io/npm/v/async-validator.svg?style=flat-square
+[npm-url]: http://npmjs.org/package/async-validator
+[travis-image]: https://img.shields.io/travis/yiminghe/async-validator.svg?style=flat-square
+[travis-url]: https://travis-ci.org/yiminghe/async-validator
+[coveralls-image]: https://img.shields.io/coveralls/yiminghe/async-validator.svg?style=flat-square
+[coveralls-url]: https://coveralls.io/r/yiminghe/async-validator?branch=master
+[gemnasium-image]: http://img.shields.io/gemnasium/yiminghe/async-validator.svg?style=flat-square
+[gemnasium-url]: https://gemnasium.com/yiminghe/async-validator
+[node-image]: https://img.shields.io/badge/node.js-%3E=4.0.0-green.svg?style=flat-square
+[node-url]: http://nodejs.org/download/
+[download-image]: https://img.shields.io/npm/dm/async-validator.svg?style=flat-square
+[download-url]: https://npmjs.org/package/async-validator
+
+
+## API
+
+The following is modified from earlier version of [async-validate](https://github.com/freeformsystems/async-validate).
+
+### Usage
+
+Basic usage involves defining a descriptor, assigning it to a schema and passing the object to be validated and a callback function to the `validate` method of the schema:
+
+```javascript
+var schema = require('async-validator');
+var descriptor = {
+  name: {type: "string", required: true}
+}
+var validator = new schema(descriptor);
+validator.validate({name: "muji"}, (errors, fields) => {
+  if(errors) {
+    // validation failed, errors is an array of all errors
+    // fields is an object keyed by field name with an array of
+    // errors per field
+    return handleErrors(errors, fields);
+  }
+  // validation passed
+});
+```
+
+### Validate
+
+```javascript
+function(source, [options], callback)
+```
+
+* `source`: The object to validate (required).
+* `options`: An object describing processing options for the validation (optional).
+* `callback`: A callback function to invoke when validation completes (required).
+
+### Options
+
+* `first`: Boolean, Invoke `callback` when the first validation rule generates an error, 
+no more validation rules are processed. 
+If your validation involves multiple asynchronous calls (for example, database queries) and you only need the first error use this option.
+
+* `firstFields`: Boolean|String[], Invoke `callback` when the first validation rule of the specified field generates an error, 
+no more validation rules of the same field are processed.  `true` means all fields.
+
+### Rules
+
+Rules may be functions that perform validation.
+
+```javascript
+function(rule, value, callback, source, options)
+```
+
+* `rule`: The validation rule in the source descriptor that corresponds to the field name being validated. It is always assigned a `field` property with the name of the field being validated.
+* `value`: The value of the source object property being validated.
+* `callback`: A callback function to invoke once validation is complete. It expects to be passed an array of `Error` instances to indicate validation failure.
+* `source`: The source object that was passed to the `validate` method.
+* `options`: Additional options.
+* `options.messages`: The object containing validation error messages, will be deep merged with defaultMessages.
+
+The options passed to `validate` are passed on to the validation functions so that you may reference transient data (such as model references) in validation functions. However, some option names are reserved; if you use these properties of the options object they are overwritten. The reserved properties are `messages`, `exception` and `error`.
+
+```javascript
+var schema = require('async-validator');
+var descriptor = {
+  name(rule, value, callback, source, options) {
+    var errors = [];
+    if(!/^[a-z0-9]+$/.test(value)) {
+      errors.push(
+        new Error(
+          util.format("%s must be lowercase alphanumeric characters",
+            rule.field)));
+    }
+    callback(errors);
+  }
+}
+var validator = new schema(descriptor);
+validator.validate({name: "Firstname"}, (errors, fields) => {
+  if(errors) {
+    return handleErrors(errors, fields);
+  }
+  // validation passed
+});
+```
+
+It is often useful to test against multiple validation rules for a single field, to do so make the rule an array of objects, for example:
+
+```javascript
+var descriptor = {
+  email: [
+    {type: "string", required: true, pattern: schema.pattern.email},
+    {validator(rule, value, callback, source, options) {
+      var errors = [];
+      // test if email address already exists in a database
+      // and add a validation error to the errors array if it does
+      callback(errors);
+    }}
+  ]
+}
+```
+
+#### Type
+
+Indicates the `type` of validator to use. Recognised type values are:
+
+* `string`: Must be of type `string`. `This is the default type.`
+* `number`: Must be of type `number`.
+* `boolean`: Must be of type `boolean`.
+* `method`: Must be of type `function`.
+* `regexp`: Must be an instance of `RegExp` or a string that does not generate an exception when creating a new `RegExp`.
+* `integer`: Must be of type `number` and an integer.
+* `float`: Must be of type `number` and a floating point number.
+* `array`: Must be an array as determined by `Array.isArray`.
+* `object`: Must be of type `object` and not `Array.isArray`.
+* `enum`: Value must exist in the `enum`.
+* `date`: Value must be valid as determined by `Date`
+* `url`: Must be of type `url`.
+* `hex`: Must be of type `hex`.
+* `email`: Must be of type `email`.
+
+#### Required
+
+The `required` rule property indicates that the field must exist on the source object being validated.
+
+#### Pattern
+
+The `pattern` rule property indicates a regular expression that the value must match to pass validation.
+
+#### Range
+
+A range is defined using the `min` and `max` properties. For `string` and `array` types comparison is performed against the `length`, for `number` types the number must not be less than `min` nor greater than `max`.
+
+#### Length
+
+To validate an exact length of a field specify the `len` property. For `string` and `array` types comparison is performed on the `length` property, for the `number` type this property indicates an exact match for the `number`, ie, it may only be strictly equal to `len`.
+
+If the `len` property is combined with the `min` and `max` range properties, `len` takes precedence.
+
+#### Enumerable
+
+To validate a value from a list of possible values use the `enum` type with a `enum` property listing the valid values for the field, for example:
+
+```javascript
+var descriptor = {
+  role: {type: "enum", enum: ['admin', 'user', 'guest']}
+}
+```
+
+#### Whitespace
+
+It is typical to treat required fields that only contain whitespace as errors. To add an additional test for a string that consists solely of whitespace add a `whitespace` property to a rule with a value of `true`. The rule must be a `string` type.
+
+You may wish to sanitize user input instead of testing for whitespace, see [transform](#transform) for an example that would allow you to strip whitespace.
+
+
+#### Deep Rules
+
+If you need to validate deep object properties you may do so for validation rules that are of the `object` or `array` type by assigning nested rules to a `fields` property of the rule.
+
+```javascript
+var descriptor = {
+  address: {
+    type: "object", required: true,
+    fields: {
+      street: {type: "string", required: true},
+      city: {type: "string", required: true},
+      zip: {type: "string", required: true, len: 8, message: "invalid zip"}
+    }
+  },
+  name: {type: "string", required: true}
+}
+var validator = new schema(descriptor);
+validator.validate({ address: {} }, (errors, fields) => {
+  // errors for street, address.city, address.zip and address.name
+});
+```
+
+Note that if you do not specify the `required` property on the parent rule it is perfectly valid for the field not to be declared on the source object and the deep validation rules will not be executed as there is nothing to validate against.
+
+Deep rule validation creates a schema for the nested rules so you can also specify the `options` passed to the `schema.validate()` method.
+
+```javascript
+var descriptor = {
+  address: {
+    type: "object", required: true, options: {single: true, first: true},
+    fields: {
+      street: {type: "string", required: true},
+      city: {type: "string", required: true},
+      zip: {type: "string", required: true, len: 8, message: "invalid zip"}
+    }
+  },
+  name: {type: "string", required: true}
+}
+var validator = new schema(descriptor);
+validator.validate({ address: {} }, (errors, fields) => {
+  // now only errors for street and name
+});
+```
+
+The parent rule is also validated so if you have a set of rules such as:
+
+```javascript
+var descriptor = {
+  roles: {
+    type: "array", required: true, len: 3,
+    fields: {
+      0: {type: "string", required: true},
+      1: {type: "string", required: true},
+      2: {type: "string", required: true}
+    }
+  }
+}
+```
+
+And supply a source object of `{roles: ["admin", "user"]}` then two errors will be created. One for the array length mismatch and one for the missing required array entry at index 2.
+
+#### defaultField
+
+The `defaultField` property can be used with the `array` or `object` type for validating all values of the container.
+It may be an `object` or `array` containing validation rules. For example:
+
+```javascript
+var descriptor = {
+  urls: {
+    type: "array", required: true,
+    defaultField: {type: "url"}
+  }
+}
+```
+
+Note that `defaultField` is expanded to `fields`, see [deep rules](#deep-rules).
+
+#### Transform
+
+Sometimes it is necessary to transform a value before validation, possibly to coerce the value or to sanitize it in some way. To do this add a `transform` function to the validation rule. The property is transformed prior to validation and re-assigned to the source object to mutate the value of the property in place.
+
+```javascript
+var schema = require('async-validator');
+var sanitize = require('validator').sanitize;
+var descriptor = {
+  name: {
+    type: "string",
+    required: true, pattern: /^[a-z]+$/,
+    transform(value) {
+      return sanitize(value).trim();
+    }
+  }
+}
+var validator = new schema(descriptor);
+var source = {name: " user  "};
+validator.validate(source, (errors, fields) => {
+  assert.equal(source.name, "user");
+});
+```
+
+Without the `transform` function validation would fail due to the pattern not matching as the input contains leading and trailing whitespace, but by adding the transform function validation passes and the field value is sanitized at the same time.
+
+
+### Messages
+
+Depending upon your application requirements, you may need i18n support or you may prefer different validation error messages.
+
+The easiest way to achieve this is to assign a `message` to a rule:
+
+```javascript
+{name:{type: "string", required: true, message: "Name is required"}}
+```
+
+Message can be any type, such as jsx format.
+
+```javascript
+{name:{type: "string", required: true, message: <b>Name is required</b>}}
+```
+
+Potentially you may require the same schema validation rules for different languages, in which case duplicating the schema rules for each language does not make sense.
+
+In this scenario you could just provide your own messages for the language and assign it to the schema:
+
+```javascript
+var schema = require('async-validator');
+var cn = {
+  required: '%s 必填',
+};
+var descriptor = {name:{type: "string", required: true}};
+var validator = new schema(descriptor);
+// deep merge with defaultMessages
+validator.messages(cn);
+...
+```
+
+If you are defining your own validation functions it is better practice to assign the message strings to a messages object and then access the messages via the `options.messages` property within the validation function.
+
+### validator
+
+you can custom validate function for specified field:
+
+```js
+const fields = {
+  asyncField:{
+    validator(rule,value,callback){
+      ajax({
+        url:'xx',
+        value:value
+      }).then(function(data){
+        callback();
+      },function(error){
+        callback(new Error(error))
+      });
+    }
+  },
+ 
+  promiseField:{
+      validator(rule, value){
+        return ajax({
+          url:'xx',
+          value:value
+        });
+      }
+    }
+};
+```
+
+## Test Case
+
+```
+npm test
+npm run chrome-test
+```
+
+## Coverage
+
+```
+npm run coverage
+```
+
+open coverage/ dir
+
+## License
+
+Everything is [MIT](http://en.wikipedia.org/wiki/MIT_License).

+ 262 - 0
node_modules/async-validator/es/index.js

@@ -0,0 +1,262 @@
+import _extends from 'babel-runtime/helpers/extends';
+import _typeof from 'babel-runtime/helpers/typeof';
+import { format, complementError, asyncMap, warning, deepMerge } from './util';
+import validators from './validator/';
+import { messages as defaultMessages, newMessages } from './messages';
+
+/**
+ *  Encapsulates a validation schema.
+ *
+ *  @param descriptor An object declaring validation rules
+ *  for this schema.
+ */
+function Schema(descriptor) {
+  this.rules = null;
+  this._messages = defaultMessages;
+  this.define(descriptor);
+}
+
+Schema.prototype = {
+  messages: function messages(_messages) {
+    if (_messages) {
+      this._messages = deepMerge(newMessages(), _messages);
+    }
+    return this._messages;
+  },
+  define: function define(rules) {
+    if (!rules) {
+      throw new Error('Cannot configure a schema with no rules');
+    }
+    if ((typeof rules === 'undefined' ? 'undefined' : _typeof(rules)) !== 'object' || Array.isArray(rules)) {
+      throw new Error('Rules must be an object');
+    }
+    this.rules = {};
+    var z = void 0;
+    var item = void 0;
+    for (z in rules) {
+      if (rules.hasOwnProperty(z)) {
+        item = rules[z];
+        this.rules[z] = Array.isArray(item) ? item : [item];
+      }
+    }
+  },
+  validate: function validate(source_) {
+    var _this = this;
+
+    var o = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+    var oc = arguments[2];
+
+    var source = source_;
+    var options = o;
+    var callback = oc;
+    if (typeof options === 'function') {
+      callback = options;
+      options = {};
+    }
+    if (!this.rules || Object.keys(this.rules).length === 0) {
+      if (callback) {
+        callback();
+      }
+      return;
+    }
+    function complete(results) {
+      var i = void 0;
+      var field = void 0;
+      var errors = [];
+      var fields = {};
+
+      function add(e) {
+        if (Array.isArray(e)) {
+          errors = errors.concat.apply(errors, e);
+        } else {
+          errors.push(e);
+        }
+      }
+
+      for (i = 0; i < results.length; i++) {
+        add(results[i]);
+      }
+      if (!errors.length) {
+        errors = null;
+        fields = null;
+      } else {
+        for (i = 0; i < errors.length; i++) {
+          field = errors[i].field;
+          fields[field] = fields[field] || [];
+          fields[field].push(errors[i]);
+        }
+      }
+      callback(errors, fields);
+    }
+
+    if (options.messages) {
+      var messages = this.messages();
+      if (messages === defaultMessages) {
+        messages = newMessages();
+      }
+      deepMerge(messages, options.messages);
+      options.messages = messages;
+    } else {
+      options.messages = this.messages();
+    }
+    var arr = void 0;
+    var value = void 0;
+    var series = {};
+    var keys = options.keys || Object.keys(this.rules);
+    keys.forEach(function (z) {
+      arr = _this.rules[z];
+      value = source[z];
+      arr.forEach(function (r) {
+        var rule = r;
+        if (typeof rule.transform === 'function') {
+          if (source === source_) {
+            source = _extends({}, source);
+          }
+          value = source[z] = rule.transform(value);
+        }
+        if (typeof rule === 'function') {
+          rule = {
+            validator: rule
+          };
+        } else {
+          rule = _extends({}, rule);
+        }
+        rule.validator = _this.getValidationMethod(rule);
+        rule.field = z;
+        rule.fullField = rule.fullField || z;
+        rule.type = _this.getType(rule);
+        if (!rule.validator) {
+          return;
+        }
+        series[z] = series[z] || [];
+        series[z].push({
+          rule: rule,
+          value: value,
+          source: source,
+          field: z
+        });
+      });
+    });
+    var errorFields = {};
+    asyncMap(series, options, function (data, doIt) {
+      var rule = data.rule;
+      var deep = (rule.type === 'object' || rule.type === 'array') && (_typeof(rule.fields) === 'object' || _typeof(rule.defaultField) === 'object');
+      deep = deep && (rule.required || !rule.required && data.value);
+      rule.field = data.field;
+      function addFullfield(key, schema) {
+        return _extends({}, schema, {
+          fullField: rule.fullField + '.' + key
+        });
+      }
+
+      function cb() {
+        var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
+
+        var errors = e;
+        if (!Array.isArray(errors)) {
+          errors = [errors];
+        }
+        if (errors.length) {
+          warning('async-validator:', errors);
+        }
+        if (errors.length && rule.message) {
+          errors = [].concat(rule.message);
+        }
+
+        errors = errors.map(complementError(rule));
+
+        if (options.first && errors.length) {
+          errorFields[rule.field] = 1;
+          return doIt(errors);
+        }
+        if (!deep) {
+          doIt(errors);
+        } else {
+          // if rule is required but the target object
+          // does not exist fail at the rule level and don't
+          // go deeper
+          if (rule.required && !data.value) {
+            if (rule.message) {
+              errors = [].concat(rule.message).map(complementError(rule));
+            } else if (options.error) {
+              errors = [options.error(rule, format(options.messages.required, rule.field))];
+            } else {
+              errors = [];
+            }
+            return doIt(errors);
+          }
+
+          var fieldsSchema = {};
+          if (rule.defaultField) {
+            for (var k in data.value) {
+              if (data.value.hasOwnProperty(k)) {
+                fieldsSchema[k] = rule.defaultField;
+              }
+            }
+          }
+          fieldsSchema = _extends({}, fieldsSchema, data.rule.fields);
+          for (var f in fieldsSchema) {
+            if (fieldsSchema.hasOwnProperty(f)) {
+              var fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];
+              fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));
+            }
+          }
+          var schema = new Schema(fieldsSchema);
+          schema.messages(options.messages);
+          if (data.rule.options) {
+            data.rule.options.messages = options.messages;
+            data.rule.options.error = options.error;
+          }
+          schema.validate(data.value, data.rule.options || options, function (errs) {
+            doIt(errs && errs.length ? errors.concat(errs) : errs);
+          });
+        }
+      }
+
+      var res = rule.validator(rule, data.value, cb, data.source, options);
+      if (res && res.then) {
+        res.then(function () {
+          return cb();
+        }, function (e) {
+          return cb(e);
+        });
+      }
+    }, function (results) {
+      complete(results);
+    });
+  },
+  getType: function getType(rule) {
+    if (rule.type === undefined && rule.pattern instanceof RegExp) {
+      rule.type = 'pattern';
+    }
+    if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {
+      throw new Error(format('Unknown rule type %s', rule.type));
+    }
+    return rule.type || 'string';
+  },
+  getValidationMethod: function getValidationMethod(rule) {
+    if (typeof rule.validator === 'function') {
+      return rule.validator;
+    }
+    var keys = Object.keys(rule);
+    var messageIndex = keys.indexOf('message');
+    if (messageIndex !== -1) {
+      keys.splice(messageIndex, 1);
+    }
+    if (keys.length === 1 && keys[0] === 'required') {
+      return validators.required;
+    }
+    return validators[this.getType(rule)] || false;
+  }
+};
+
+Schema.register = function register(type, validator) {
+  if (typeof validator !== 'function') {
+    throw new Error('Cannot register a validator by type, validator is not a function');
+  }
+  validators[type] = validator;
+};
+
+Schema.messages = defaultMessages;
+
+export default Schema;

+ 56 - 0
node_modules/async-validator/es/messages.js

@@ -0,0 +1,56 @@
+export function newMessages() {
+  return {
+    'default': 'Validation error on field %s',
+    required: '%s is required',
+    'enum': '%s must be one of %s',
+    whitespace: '%s cannot be empty',
+    date: {
+      format: '%s date %s is invalid for format %s',
+      parse: '%s date could not be parsed, %s is invalid ',
+      invalid: '%s date %s is invalid'
+    },
+    types: {
+      string: '%s is not a %s',
+      method: '%s is not a %s (function)',
+      array: '%s is not an %s',
+      object: '%s is not an %s',
+      number: '%s is not a %s',
+      date: '%s is not a %s',
+      boolean: '%s is not a %s',
+      integer: '%s is not an %s',
+      float: '%s is not a %s',
+      regexp: '%s is not a valid %s',
+      email: '%s is not a valid %s',
+      url: '%s is not a valid %s',
+      hex: '%s is not a valid %s'
+    },
+    string: {
+      len: '%s must be exactly %s characters',
+      min: '%s must be at least %s characters',
+      max: '%s cannot be longer than %s characters',
+      range: '%s must be between %s and %s characters'
+    },
+    number: {
+      len: '%s must equal %s',
+      min: '%s cannot be less than %s',
+      max: '%s cannot be greater than %s',
+      range: '%s must be between %s and %s'
+    },
+    array: {
+      len: '%s must be exactly %s in length',
+      min: '%s cannot be less than %s in length',
+      max: '%s cannot be greater than %s in length',
+      range: '%s must be between %s and %s in length'
+    },
+    pattern: {
+      mismatch: '%s value %s does not match pattern %s'
+    },
+    clone: function clone() {
+      var cloned = JSON.parse(JSON.stringify(this));
+      cloned.clone = this.clone;
+      return cloned;
+    }
+  };
+}
+
+export var messages = newMessages();

+ 22 - 0
node_modules/async-validator/es/rule/enum.js

@@ -0,0 +1,22 @@
+import * as util from '../util';
+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(', ')));
+  }
+}
+
+export default enumerable;

+ 15 - 0
node_modules/async-validator/es/rule/index.js

@@ -0,0 +1,15 @@
+import required from './required';
+import whitespace from './whitespace';
+import type from './type';
+import range from './range';
+import enumRule from './enum';
+import pattern from './pattern';
+
+export default {
+  required: required,
+  whitespace: whitespace,
+  type: type,
+  range: range,
+  'enum': enumRule,
+  pattern: pattern
+};

+ 33 - 0
node_modules/async-validator/es/rule/pattern.js

@@ -0,0 +1,33 @@
+import * as util from '../util';
+
+/**
+ *  Rule for validating a regular expression pattern.
+ *
+ *  @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 pattern(rule, value, source, errors, options) {
+  if (rule.pattern) {
+    if (rule.pattern instanceof RegExp) {
+      // if a RegExp instance is passed, reset `lastIndex` in case its `global`
+      // flag is accidentally set to `true`, which in a validation scenario
+      // is not necessary and the result might be misleading
+      rule.pattern.lastIndex = 0;
+      if (!rule.pattern.test(value)) {
+        errors.push(util.format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));
+      }
+    } else if (typeof rule.pattern === 'string') {
+      var _pattern = new RegExp(rule.pattern);
+      if (!_pattern.test(value)) {
+        errors.push(util.format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));
+      }
+    }
+  }
+}
+
+export default pattern;

+ 58 - 0
node_modules/async-validator/es/rule/range.js

@@ -0,0 +1,58 @@
+import * as util from '../util';
+
+/**
+ *  Rule for validating minimum and maximum allowed values.
+ *
+ *  @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 range(rule, value, source, errors, options) {
+  var len = typeof rule.len === 'number';
+  var min = typeof rule.min === 'number';
+  var max = typeof rule.max === 'number';
+  // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)
+  var spRegexp = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
+  var val = value;
+  var key = null;
+  var num = typeof value === 'number';
+  var str = typeof value === 'string';
+  var arr = Array.isArray(value);
+  if (num) {
+    key = 'number';
+  } else if (str) {
+    key = 'string';
+  } else if (arr) {
+    key = 'array';
+  }
+  // if the value is not of a supported type for range validation
+  // the validation rule rule should use the
+  // type property to also test for a particular type
+  if (!key) {
+    return false;
+  }
+  if (arr) {
+    val = value.length;
+  }
+  if (str) {
+    // 处理码点大于U+010000的文字length属性不准确的bug,如"𠮷𠮷𠮷".lenght !== 3
+    val = value.replace(spRegexp, '_').length;
+  }
+  if (len) {
+    if (val !== rule.len) {
+      errors.push(util.format(options.messages[key].len, rule.fullField, rule.len));
+    }
+  } else if (min && !max && val < rule.min) {
+    errors.push(util.format(options.messages[key].min, rule.fullField, rule.min));
+  } else if (max && !min && val > rule.max) {
+    errors.push(util.format(options.messages[key].max, rule.fullField, rule.max));
+  } else if (min && max && (val < rule.min || val > rule.max)) {
+    errors.push(util.format(options.messages[key].range, rule.fullField, rule.min, rule.max));
+  }
+}
+
+export default range;

+ 20 - 0
node_modules/async-validator/es/rule/required.js

@@ -0,0 +1,20 @@
+import * as util from '../util';
+
+/**
+ *  Rule for validating required fields.
+ *
+ *  @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 required(rule, value, source, errors, options, type) {
+  if (rule.required && (!source.hasOwnProperty(rule.field) || util.isEmptyValue(value, type || rule.type))) {
+    errors.push(util.format(options.messages.required, rule.fullField));
+  }
+}
+
+export default required;

+ 88 - 0
node_modules/async-validator/es/rule/type.js

@@ -0,0 +1,88 @@
+import _typeof from 'babel-runtime/helpers/typeof';
+import * as util from '../util';
+import required from './required';
+
+/* eslint max-len:0 */
+
+var pattern = {
+  // http://emailregex.com/
+  email: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
+  url: new RegExp('^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$', 'i'),
+  hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i
+};
+
+var types = {
+  integer: function integer(value) {
+    return types.number(value) && parseInt(value, 10) === value;
+  },
+  float: function float(value) {
+    return types.number(value) && !types.integer(value);
+  },
+  array: function array(value) {
+    return Array.isArray(value);
+  },
+  regexp: function regexp(value) {
+    if (value instanceof RegExp) {
+      return true;
+    }
+    try {
+      return !!new RegExp(value);
+    } catch (e) {
+      return false;
+    }
+  },
+  date: function date(value) {
+    return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function';
+  },
+  number: function number(value) {
+    if (isNaN(value)) {
+      return false;
+    }
+    return typeof value === 'number';
+  },
+  object: function object(value) {
+    return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && !types.array(value);
+  },
+  method: function method(value) {
+    return typeof value === 'function';
+  },
+  email: function email(value) {
+    return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;
+  },
+  url: function url(value) {
+    return typeof value === 'string' && !!value.match(pattern.url);
+  },
+  hex: function hex(value) {
+    return typeof value === 'string' && !!value.match(pattern.hex);
+  }
+};
+
+/**
+ *  Rule for validating the type of a value.
+ *
+ *  @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 type(rule, value, source, errors, options) {
+  if (rule.required && value === undefined) {
+    required(rule, value, source, errors, options);
+    return;
+  }
+  var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];
+  var ruleType = rule.type;
+  if (custom.indexOf(ruleType) > -1) {
+    if (!types[ruleType](value)) {
+      errors.push(util.format(options.messages.types[ruleType], rule.fullField, rule.type));
+    }
+    // straight typeof check
+  } else if (ruleType && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== rule.type) {
+    errors.push(util.format(options.messages.types[ruleType], rule.fullField, rule.type));
+  }
+}
+
+export default type;

+ 20 - 0
node_modules/async-validator/es/rule/whitespace.js

@@ -0,0 +1,20 @@
+import * as util from '../util';
+
+/**
+ *  Rule for validating whitespace.
+ *
+ *  @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 whitespace(rule, value, source, errors, options) {
+  if (/^\s+$/.test(value) || value === '') {
+    errors.push(util.format(options.messages.whitespace, rule.fullField));
+  }
+}
+
+export default whitespace;

+ 188 - 0
node_modules/async-validator/es/util.js

@@ -0,0 +1,188 @@
+import _extends from 'babel-runtime/helpers/extends';
+import _typeof from 'babel-runtime/helpers/typeof';
+var formatRegExp = /%[sdj%]/g;
+
+export var warning = function warning() {};
+
+// don't print warning message when in production env or node runtime
+if (process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {
+  warning = function warning(type, errors) {
+    if (typeof console !== 'undefined' && console.warn) {
+      if (errors.every(function (e) {
+        return typeof e === 'string';
+      })) {
+        console.warn(type, errors);
+      }
+    }
+  };
+}
+
+export function format() {
+  for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
+    args[_key] = arguments[_key];
+  }
+
+  var i = 1;
+  var f = args[0];
+  var len = args.length;
+  if (typeof f === 'function') {
+    return f.apply(null, args.slice(1));
+  }
+  if (typeof f === 'string') {
+    var str = String(f).replace(formatRegExp, function (x) {
+      if (x === '%%') {
+        return '%';
+      }
+      if (i >= len) {
+        return x;
+      }
+      switch (x) {
+        case '%s':
+          return String(args[i++]);
+        case '%d':
+          return Number(args[i++]);
+        case '%j':
+          try {
+            return JSON.stringify(args[i++]);
+          } catch (_) {
+            return '[Circular]';
+          }
+          break;
+        default:
+          return x;
+      }
+    });
+    for (var arg = args[i]; i < len; arg = args[++i]) {
+      str += ' ' + arg;
+    }
+    return str;
+  }
+  return f;
+}
+
+function isNativeStringType(type) {
+  return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'pattern';
+}
+
+export function isEmptyValue(value, type) {
+  if (value === undefined || value === null) {
+    return true;
+  }
+  if (type === 'array' && Array.isArray(value) && !value.length) {
+    return true;
+  }
+  if (isNativeStringType(type) && typeof value === 'string' && !value) {
+    return true;
+  }
+  return false;
+}
+
+export function isEmptyObject(obj) {
+  return Object.keys(obj).length === 0;
+}
+
+function asyncParallelArray(arr, func, callback) {
+  var results = [];
+  var total = 0;
+  var arrLength = arr.length;
+
+  function count(errors) {
+    results.push.apply(results, errors);
+    total++;
+    if (total === arrLength) {
+      callback(results);
+    }
+  }
+
+  arr.forEach(function (a) {
+    func(a, count);
+  });
+}
+
+function asyncSerialArray(arr, func, callback) {
+  var index = 0;
+  var arrLength = arr.length;
+
+  function next(errors) {
+    if (errors && errors.length) {
+      callback(errors);
+      return;
+    }
+    var original = index;
+    index = index + 1;
+    if (original < arrLength) {
+      func(arr[original], next);
+    } else {
+      callback([]);
+    }
+  }
+
+  next([]);
+}
+
+function flattenObjArr(objArr) {
+  var ret = [];
+  Object.keys(objArr).forEach(function (k) {
+    ret.push.apply(ret, objArr[k]);
+  });
+  return ret;
+}
+
+export function asyncMap(objArr, option, func, callback) {
+  if (option.first) {
+    var flattenArr = flattenObjArr(objArr);
+    return asyncSerialArray(flattenArr, func, callback);
+  }
+  var firstFields = option.firstFields || [];
+  if (firstFields === true) {
+    firstFields = Object.keys(objArr);
+  }
+  var objArrKeys = Object.keys(objArr);
+  var objArrLength = objArrKeys.length;
+  var total = 0;
+  var results = [];
+  var next = function next(errors) {
+    results.push.apply(results, errors);
+    total++;
+    if (total === objArrLength) {
+      callback(results);
+    }
+  };
+  objArrKeys.forEach(function (key) {
+    var arr = objArr[key];
+    if (firstFields.indexOf(key) !== -1) {
+      asyncSerialArray(arr, func, next);
+    } else {
+      asyncParallelArray(arr, func, next);
+    }
+  });
+}
+
+export function complementError(rule) {
+  return function (oe) {
+    if (oe && oe.message) {
+      oe.field = oe.field || rule.fullField;
+      return oe;
+    }
+    return {
+      message: oe,
+      field: oe.field || rule.fullField
+    };
+  };
+}
+
+export function deepMerge(target, source) {
+  if (source) {
+    for (var s in source) {
+      if (source.hasOwnProperty(s)) {
+        var value = source[s];
+        if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && _typeof(target[s]) === 'object') {
+          target[s] = _extends({}, target[s], value);
+        } else {
+          target[s] = value;
+        }
+      }
+    }
+  }
+  return target;
+}

+ 29 - 0
node_modules/async-validator/es/validator/array.js

@@ -0,0 +1,29 @@
+import rules from '../rule/';
+import { isEmptyValue } from '../util';
+/**
+ *  Validates an array.
+ *
+ *  @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 array(rule, value, callback, source, options) {
+  var errors = [];
+  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+  if (validate) {
+    if (isEmptyValue(value, 'array') && !rule.required) {
+      return callback();
+    }
+    rules.required(rule, value, source, errors, options, 'array');
+    if (!isEmptyValue(value, 'array')) {
+      rules.type(rule, value, source, errors, options);
+      rules.range(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+export default array;

+ 29 - 0
node_modules/async-validator/es/validator/boolean.js

@@ -0,0 +1,29 @@
+import { isEmptyValue } from '../util';
+import rules from '../rule/';
+
+/**
+ *  Validates a boolean.
+ *
+ *  @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 boolean(rule, value, callback, source, options) {
+  var errors = [];
+  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+  if (validate) {
+    if (isEmptyValue(value) && !rule.required) {
+      return callback();
+    }
+    rules.required(rule, value, source, errors, options);
+    if (value !== undefined) {
+      rules.type(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+export default boolean;

+ 32 - 0
node_modules/async-validator/es/validator/date.js

@@ -0,0 +1,32 @@
+import rules from '../rule/';
+import { isEmptyValue } from '../util';
+
+function date(rule, value, callback, source, options) {
+  // console.log('integer rule called %j', rule);
+  var errors = [];
+  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+  // console.log('validate on %s value', value);
+  if (validate) {
+    if (isEmptyValue(value) && !rule.required) {
+      return callback();
+    }
+    rules.required(rule, value, source, errors, options);
+    if (!isEmptyValue(value)) {
+      var dateObject = void 0;
+
+      if (typeof value === 'number') {
+        dateObject = new Date(value);
+      } else {
+        dateObject = value;
+      }
+
+      rules.type(rule, dateObject, source, errors, options);
+      if (dateObject) {
+        rules.range(rule, dateObject.getTime(), source, errors, options);
+      }
+    }
+  }
+  callback(errors);
+}
+
+export default date;

+ 30 - 0
node_modules/async-validator/es/validator/enum.js

@@ -0,0 +1,30 @@
+import rules from '../rule/';
+import { isEmptyValue } from '../util';
+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 (isEmptyValue(value) && !rule.required) {
+      return callback();
+    }
+    rules.required(rule, value, source, errors, options);
+    if (value) {
+      rules[ENUM](rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+export default enumerable;

+ 30 - 0
node_modules/async-validator/es/validator/float.js

@@ -0,0 +1,30 @@
+import rules from '../rule/';
+import { isEmptyValue } from '../util';
+
+/**
+ *  Validates a number is a floating point number.
+ *
+ *  @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 floatFn(rule, value, callback, source, options) {
+  var errors = [];
+  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+  if (validate) {
+    if (isEmptyValue(value) && !rule.required) {
+      return callback();
+    }
+    rules.required(rule, value, source, errors, options);
+    if (value !== undefined) {
+      rules.type(rule, value, source, errors, options);
+      rules.range(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+export default floatFn;

+ 33 - 0
node_modules/async-validator/es/validator/index.js

@@ -0,0 +1,33 @@
+import string from './string';
+import method from './method';
+import number from './number';
+import boolean from './boolean';
+import regexp from './regexp';
+import integer from './integer';
+import float from './float';
+import array from './array';
+import object from './object';
+import enumValidator from './enum';
+import pattern from './pattern';
+import date from './date';
+import required from './required';
+import type from './type';
+
+export default {
+  string: string,
+  method: method,
+  number: number,
+  boolean: boolean,
+  regexp: regexp,
+  integer: integer,
+  float: float,
+  array: array,
+  object: object,
+  'enum': enumValidator,
+  pattern: pattern,
+  date: date,
+  url: type,
+  hex: type,
+  email: type,
+  required: required
+};

+ 30 - 0
node_modules/async-validator/es/validator/integer.js

@@ -0,0 +1,30 @@
+import rules from '../rule/';
+import { isEmptyValue } from '../util';
+
+/**
+ *  Validates a number is an integer.
+ *
+ *  @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 integer(rule, value, callback, source, options) {
+  var errors = [];
+  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+  if (validate) {
+    if (isEmptyValue(value) && !rule.required) {
+      return callback();
+    }
+    rules.required(rule, value, source, errors, options);
+    if (value !== undefined) {
+      rules.type(rule, value, source, errors, options);
+      rules.range(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+export default integer;

+ 29 - 0
node_modules/async-validator/es/validator/method.js

@@ -0,0 +1,29 @@
+import rules from '../rule/';
+import { isEmptyValue } from '../util';
+
+/**
+ *  Validates a function.
+ *
+ *  @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 method(rule, value, callback, source, options) {
+  var errors = [];
+  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+  if (validate) {
+    if (isEmptyValue(value) && !rule.required) {
+      return callback();
+    }
+    rules.required(rule, value, source, errors, options);
+    if (value !== undefined) {
+      rules.type(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+export default method;

+ 30 - 0
node_modules/async-validator/es/validator/number.js

@@ -0,0 +1,30 @@
+import rules from '../rule/';
+import { isEmptyValue } from '../util';
+
+/**
+ *  Validates a number.
+ *
+ *  @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 number(rule, value, callback, source, options) {
+  var errors = [];
+  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+  if (validate) {
+    if (isEmptyValue(value) && !rule.required) {
+      return callback();
+    }
+    rules.required(rule, value, source, errors, options);
+    if (value !== undefined) {
+      rules.type(rule, value, source, errors, options);
+      rules.range(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+export default number;

+ 29 - 0
node_modules/async-validator/es/validator/object.js

@@ -0,0 +1,29 @@
+import rules from '../rule/';
+import { isEmptyValue } from '../util';
+
+/**
+ *  Validates an object.
+ *
+ *  @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 object(rule, value, callback, source, options) {
+  var errors = [];
+  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+  if (validate) {
+    if (isEmptyValue(value) && !rule.required) {
+      return callback();
+    }
+    rules.required(rule, value, source, errors, options);
+    if (value !== undefined) {
+      rules.type(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+export default object;

+ 32 - 0
node_modules/async-validator/es/validator/pattern.js

@@ -0,0 +1,32 @@
+import rules from '../rule/';
+import { isEmptyValue } from '../util';
+
+/**
+ *  Validates a regular expression pattern.
+ *
+ *  Performs validation when a rule only contains
+ *  a pattern property but is not declared as a string type.
+ *
+ *  @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 pattern(rule, value, callback, source, options) {
+  var errors = [];
+  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+  if (validate) {
+    if (isEmptyValue(value, 'string') && !rule.required) {
+      return callback();
+    }
+    rules.required(rule, value, source, errors, options);
+    if (!isEmptyValue(value, 'string')) {
+      rules.pattern(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+export default pattern;

+ 29 - 0
node_modules/async-validator/es/validator/regexp.js

@@ -0,0 +1,29 @@
+import rules from '../rule/';
+import { isEmptyValue } from '../util';
+
+/**
+ *  Validates the regular expression type.
+ *
+ *  @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 regexp(rule, value, callback, source, options) {
+  var errors = [];
+  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+  if (validate) {
+    if (isEmptyValue(value) && !rule.required) {
+      return callback();
+    }
+    rules.required(rule, value, source, errors, options);
+    if (!isEmptyValue(value)) {
+      rules.type(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+export default regexp;

+ 11 - 0
node_modules/async-validator/es/validator/required.js

@@ -0,0 +1,11 @@
+import _typeof from 'babel-runtime/helpers/typeof';
+import rules from '../rule/';
+
+function required(rule, value, callback, source, options) {
+  var errors = [];
+  var type = Array.isArray(value) ? 'array' : typeof value === 'undefined' ? 'undefined' : _typeof(value);
+  rules.required(rule, value, source, errors, options, type);
+  callback(errors);
+}
+
+export default required;

+ 34 - 0
node_modules/async-validator/es/validator/string.js

@@ -0,0 +1,34 @@
+import rules from '../rule/';
+import { isEmptyValue } from '../util';
+
+/**
+ *  Performs validation for string types.
+ *
+ *  @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 string(rule, value, callback, source, options) {
+  var errors = [];
+  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+  if (validate) {
+    if (isEmptyValue(value, 'string') && !rule.required) {
+      return callback();
+    }
+    rules.required(rule, value, source, errors, options, 'string');
+    if (!isEmptyValue(value, 'string')) {
+      rules.type(rule, value, source, errors, options);
+      rules.range(rule, value, source, errors, options);
+      rules.pattern(rule, value, source, errors, options);
+      if (rule.whitespace === true) {
+        rules.whitespace(rule, value, source, errors, options);
+      }
+    }
+  }
+  callback(errors);
+}
+
+export default string;

+ 20 - 0
node_modules/async-validator/es/validator/type.js

@@ -0,0 +1,20 @@
+import rules from '../rule/';
+import { isEmptyValue } from '../util';
+
+function type(rule, value, callback, source, options) {
+  var ruleType = rule.type;
+  var errors = [];
+  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+  if (validate) {
+    if (isEmptyValue(value, ruleType) && !rule.required) {
+      return callback();
+    }
+    rules.required(rule, value, source, errors, options, ruleType);
+    if (!isEmptyValue(value, ruleType)) {
+      rules.type(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+export default type;

+ 281 - 0
node_modules/async-validator/lib/index.js

@@ -0,0 +1,281 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+
+var _extends2 = require('babel-runtime/helpers/extends');
+
+var _extends3 = _interopRequireDefault(_extends2);
+
+var _typeof2 = require('babel-runtime/helpers/typeof');
+
+var _typeof3 = _interopRequireDefault(_typeof2);
+
+var _util = require('./util');
+
+var _validator = require('./validator/');
+
+var _validator2 = _interopRequireDefault(_validator);
+
+var _messages2 = require('./messages');
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+/**
+ *  Encapsulates a validation schema.
+ *
+ *  @param descriptor An object declaring validation rules
+ *  for this schema.
+ */
+function Schema(descriptor) {
+  this.rules = null;
+  this._messages = _messages2.messages;
+  this.define(descriptor);
+}
+
+Schema.prototype = {
+  messages: function messages(_messages) {
+    if (_messages) {
+      this._messages = (0, _util.deepMerge)((0, _messages2.newMessages)(), _messages);
+    }
+    return this._messages;
+  },
+  define: function define(rules) {
+    if (!rules) {
+      throw new Error('Cannot configure a schema with no rules');
+    }
+    if ((typeof rules === 'undefined' ? 'undefined' : (0, _typeof3['default'])(rules)) !== 'object' || Array.isArray(rules)) {
+      throw new Error('Rules must be an object');
+    }
+    this.rules = {};
+    var z = void 0;
+    var item = void 0;
+    for (z in rules) {
+      if (rules.hasOwnProperty(z)) {
+        item = rules[z];
+        this.rules[z] = Array.isArray(item) ? item : [item];
+      }
+    }
+  },
+  validate: function validate(source_) {
+    var _this = this;
+
+    var o = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+    var oc = arguments[2];
+
+    var source = source_;
+    var options = o;
+    var callback = oc;
+    if (typeof options === 'function') {
+      callback = options;
+      options = {};
+    }
+    if (!this.rules || Object.keys(this.rules).length === 0) {
+      if (callback) {
+        callback();
+      }
+      return;
+    }
+    function complete(results) {
+      var i = void 0;
+      var field = void 0;
+      var errors = [];
+      var fields = {};
+
+      function add(e) {
+        if (Array.isArray(e)) {
+          errors = errors.concat.apply(errors, e);
+        } else {
+          errors.push(e);
+        }
+      }
+
+      for (i = 0; i < results.length; i++) {
+        add(results[i]);
+      }
+      if (!errors.length) {
+        errors = null;
+        fields = null;
+      } else {
+        for (i = 0; i < errors.length; i++) {
+          field = errors[i].field;
+          fields[field] = fields[field] || [];
+          fields[field].push(errors[i]);
+        }
+      }
+      callback(errors, fields);
+    }
+
+    if (options.messages) {
+      var messages = this.messages();
+      if (messages === _messages2.messages) {
+        messages = (0, _messages2.newMessages)();
+      }
+      (0, _util.deepMerge)(messages, options.messages);
+      options.messages = messages;
+    } else {
+      options.messages = this.messages();
+    }
+    var arr = void 0;
+    var value = void 0;
+    var series = {};
+    var keys = options.keys || Object.keys(this.rules);
+    keys.forEach(function (z) {
+      arr = _this.rules[z];
+      value = source[z];
+      arr.forEach(function (r) {
+        var rule = r;
+        if (typeof rule.transform === 'function') {
+          if (source === source_) {
+            source = (0, _extends3['default'])({}, source);
+          }
+          value = source[z] = rule.transform(value);
+        }
+        if (typeof rule === 'function') {
+          rule = {
+            validator: rule
+          };
+        } else {
+          rule = (0, _extends3['default'])({}, rule);
+        }
+        rule.validator = _this.getValidationMethod(rule);
+        rule.field = z;
+        rule.fullField = rule.fullField || z;
+        rule.type = _this.getType(rule);
+        if (!rule.validator) {
+          return;
+        }
+        series[z] = series[z] || [];
+        series[z].push({
+          rule: rule,
+          value: value,
+          source: source,
+          field: z
+        });
+      });
+    });
+    var errorFields = {};
+    (0, _util.asyncMap)(series, options, function (data, doIt) {
+      var rule = data.rule;
+      var deep = (rule.type === 'object' || rule.type === 'array') && ((0, _typeof3['default'])(rule.fields) === 'object' || (0, _typeof3['default'])(rule.defaultField) === 'object');
+      deep = deep && (rule.required || !rule.required && data.value);
+      rule.field = data.field;
+      function addFullfield(key, schema) {
+        return (0, _extends3['default'])({}, schema, {
+          fullField: rule.fullField + '.' + key
+        });
+      }
+
+      function cb() {
+        var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
+
+        var errors = e;
+        if (!Array.isArray(errors)) {
+          errors = [errors];
+        }
+        if (errors.length) {
+          (0, _util.warning)('async-validator:', errors);
+        }
+        if (errors.length && rule.message) {
+          errors = [].concat(rule.message);
+        }
+
+        errors = errors.map((0, _util.complementError)(rule));
+
+        if (options.first && errors.length) {
+          errorFields[rule.field] = 1;
+          return doIt(errors);
+        }
+        if (!deep) {
+          doIt(errors);
+        } else {
+          // if rule is required but the target object
+          // does not exist fail at the rule level and don't
+          // go deeper
+          if (rule.required && !data.value) {
+            if (rule.message) {
+              errors = [].concat(rule.message).map((0, _util.complementError)(rule));
+            } else if (options.error) {
+              errors = [options.error(rule, (0, _util.format)(options.messages.required, rule.field))];
+            } else {
+              errors = [];
+            }
+            return doIt(errors);
+          }
+
+          var fieldsSchema = {};
+          if (rule.defaultField) {
+            for (var k in data.value) {
+              if (data.value.hasOwnProperty(k)) {
+                fieldsSchema[k] = rule.defaultField;
+              }
+            }
+          }
+          fieldsSchema = (0, _extends3['default'])({}, fieldsSchema, data.rule.fields);
+          for (var f in fieldsSchema) {
+            if (fieldsSchema.hasOwnProperty(f)) {
+              var fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];
+              fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));
+            }
+          }
+          var schema = new Schema(fieldsSchema);
+          schema.messages(options.messages);
+          if (data.rule.options) {
+            data.rule.options.messages = options.messages;
+            data.rule.options.error = options.error;
+          }
+          schema.validate(data.value, data.rule.options || options, function (errs) {
+            doIt(errs && errs.length ? errors.concat(errs) : errs);
+          });
+        }
+      }
+
+      var res = rule.validator(rule, data.value, cb, data.source, options);
+      if (res && res.then) {
+        res.then(function () {
+          return cb();
+        }, function (e) {
+          return cb(e);
+        });
+      }
+    }, function (results) {
+      complete(results);
+    });
+  },
+  getType: function getType(rule) {
+    if (rule.type === undefined && rule.pattern instanceof RegExp) {
+      rule.type = 'pattern';
+    }
+    if (typeof rule.validator !== 'function' && rule.type && !_validator2['default'].hasOwnProperty(rule.type)) {
+      throw new Error((0, _util.format)('Unknown rule type %s', rule.type));
+    }
+    return rule.type || 'string';
+  },
+  getValidationMethod: function getValidationMethod(rule) {
+    if (typeof rule.validator === 'function') {
+      return rule.validator;
+    }
+    var keys = Object.keys(rule);
+    var messageIndex = keys.indexOf('message');
+    if (messageIndex !== -1) {
+      keys.splice(messageIndex, 1);
+    }
+    if (keys.length === 1 && keys[0] === 'required') {
+      return _validator2['default'].required;
+    }
+    return _validator2['default'][this.getType(rule)] || false;
+  }
+};
+
+Schema.register = function register(type, validator) {
+  if (typeof validator !== 'function') {
+    throw new Error('Cannot register a validator by type, validator is not a function');
+  }
+  _validator2['default'][type] = validator;
+};
+
+Schema.messages = _messages2.messages;
+
+exports['default'] = Schema;
+module.exports = exports['default'];

+ 62 - 0
node_modules/async-validator/lib/messages.js

@@ -0,0 +1,62 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.newMessages = newMessages;
+function newMessages() {
+  return {
+    'default': 'Validation error on field %s',
+    required: '%s is required',
+    'enum': '%s must be one of %s',
+    whitespace: '%s cannot be empty',
+    date: {
+      format: '%s date %s is invalid for format %s',
+      parse: '%s date could not be parsed, %s is invalid ',
+      invalid: '%s date %s is invalid'
+    },
+    types: {
+      string: '%s is not a %s',
+      method: '%s is not a %s (function)',
+      array: '%s is not an %s',
+      object: '%s is not an %s',
+      number: '%s is not a %s',
+      date: '%s is not a %s',
+      boolean: '%s is not a %s',
+      integer: '%s is not an %s',
+      float: '%s is not a %s',
+      regexp: '%s is not a valid %s',
+      email: '%s is not a valid %s',
+      url: '%s is not a valid %s',
+      hex: '%s is not a valid %s'
+    },
+    string: {
+      len: '%s must be exactly %s characters',
+      min: '%s must be at least %s characters',
+      max: '%s cannot be longer than %s characters',
+      range: '%s must be between %s and %s characters'
+    },
+    number: {
+      len: '%s must equal %s',
+      min: '%s cannot be less than %s',
+      max: '%s cannot be greater than %s',
+      range: '%s must be between %s and %s'
+    },
+    array: {
+      len: '%s must be exactly %s in length',
+      min: '%s cannot be less than %s in length',
+      max: '%s cannot be greater than %s in length',
+      range: '%s must be between %s and %s in length'
+    },
+    pattern: {
+      mismatch: '%s value %s does not match pattern %s'
+    },
+    clone: function clone() {
+      var cloned = JSON.parse(JSON.stringify(this));
+      cloned.clone = this.clone;
+      return cloned;
+    }
+  };
+}
+
+var messages = exports.messages = newMessages();

+ 34 - 0
node_modules/async-validator/lib/rule/enum.js

@@ -0,0 +1,34 @@
+'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'];

+ 41 - 0
node_modules/async-validator/lib/rule/index.js

@@ -0,0 +1,41 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+
+var _required = require('./required');
+
+var _required2 = _interopRequireDefault(_required);
+
+var _whitespace = require('./whitespace');
+
+var _whitespace2 = _interopRequireDefault(_whitespace);
+
+var _type = require('./type');
+
+var _type2 = _interopRequireDefault(_type);
+
+var _range = require('./range');
+
+var _range2 = _interopRequireDefault(_range);
+
+var _enum = require('./enum');
+
+var _enum2 = _interopRequireDefault(_enum);
+
+var _pattern = require('./pattern');
+
+var _pattern2 = _interopRequireDefault(_pattern);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+exports['default'] = {
+  required: _required2['default'],
+  whitespace: _whitespace2['default'],
+  type: _type2['default'],
+  range: _range2['default'],
+  'enum': _enum2['default'],
+  pattern: _pattern2['default']
+};
+module.exports = exports['default'];

+ 44 - 0
node_modules/async-validator/lib/rule/pattern.js

@@ -0,0 +1,44 @@
+'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; } }
+
+/**
+ *  Rule for validating a regular expression pattern.
+ *
+ *  @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 pattern(rule, value, source, errors, options) {
+  if (rule.pattern) {
+    if (rule.pattern instanceof RegExp) {
+      // if a RegExp instance is passed, reset `lastIndex` in case its `global`
+      // flag is accidentally set to `true`, which in a validation scenario
+      // is not necessary and the result might be misleading
+      rule.pattern.lastIndex = 0;
+      if (!rule.pattern.test(value)) {
+        errors.push(util.format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));
+      }
+    } else if (typeof rule.pattern === 'string') {
+      var _pattern = new RegExp(rule.pattern);
+      if (!_pattern.test(value)) {
+        errors.push(util.format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));
+      }
+    }
+  }
+}
+
+exports['default'] = pattern;
+module.exports = exports['default'];

+ 69 - 0
node_modules/async-validator/lib/rule/range.js

@@ -0,0 +1,69 @@
+'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; } }
+
+/**
+ *  Rule for validating minimum and maximum allowed values.
+ *
+ *  @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 range(rule, value, source, errors, options) {
+  var len = typeof rule.len === 'number';
+  var min = typeof rule.min === 'number';
+  var max = typeof rule.max === 'number';
+  // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)
+  var spRegexp = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
+  var val = value;
+  var key = null;
+  var num = typeof value === 'number';
+  var str = typeof value === 'string';
+  var arr = Array.isArray(value);
+  if (num) {
+    key = 'number';
+  } else if (str) {
+    key = 'string';
+  } else if (arr) {
+    key = 'array';
+  }
+  // if the value is not of a supported type for range validation
+  // the validation rule rule should use the
+  // type property to also test for a particular type
+  if (!key) {
+    return false;
+  }
+  if (arr) {
+    val = value.length;
+  }
+  if (str) {
+    // 处理码点大于U+010000的文字length属性不准确的bug,如"𠮷𠮷𠮷".lenght !== 3
+    val = value.replace(spRegexp, '_').length;
+  }
+  if (len) {
+    if (val !== rule.len) {
+      errors.push(util.format(options.messages[key].len, rule.fullField, rule.len));
+    }
+  } else if (min && !max && val < rule.min) {
+    errors.push(util.format(options.messages[key].min, rule.fullField, rule.min));
+  } else if (max && !min && val > rule.max) {
+    errors.push(util.format(options.messages[key].max, rule.fullField, rule.max));
+  } else if (min && max && (val < rule.min || val > rule.max)) {
+    errors.push(util.format(options.messages[key].range, rule.fullField, rule.min, rule.max));
+  }
+}
+
+exports['default'] = range;
+module.exports = exports['default'];

+ 31 - 0
node_modules/async-validator/lib/rule/required.js

@@ -0,0 +1,31 @@
+'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; } }
+
+/**
+ *  Rule for validating required fields.
+ *
+ *  @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 required(rule, value, source, errors, options, type) {
+  if (rule.required && (!source.hasOwnProperty(rule.field) || util.isEmptyValue(value, type || rule.type))) {
+    errors.push(util.format(options.messages.required, rule.fullField));
+  }
+}
+
+exports['default'] = required;
+module.exports = exports['default'];

+ 107 - 0
node_modules/async-validator/lib/rule/type.js

@@ -0,0 +1,107 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+
+var _typeof2 = require('babel-runtime/helpers/typeof');
+
+var _typeof3 = _interopRequireDefault(_typeof2);
+
+var _util = require('../util');
+
+var util = _interopRequireWildcard(_util);
+
+var _required = require('./required');
+
+var _required2 = _interopRequireDefault(_required);
+
+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; } }
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+/* eslint max-len:0 */
+
+var pattern = {
+  // http://emailregex.com/
+  email: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
+  url: new RegExp('^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$', 'i'),
+  hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i
+};
+
+var types = {
+  integer: function integer(value) {
+    return types.number(value) && parseInt(value, 10) === value;
+  },
+  float: function float(value) {
+    return types.number(value) && !types.integer(value);
+  },
+  array: function array(value) {
+    return Array.isArray(value);
+  },
+  regexp: function regexp(value) {
+    if (value instanceof RegExp) {
+      return true;
+    }
+    try {
+      return !!new RegExp(value);
+    } catch (e) {
+      return false;
+    }
+  },
+  date: function date(value) {
+    return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function';
+  },
+  number: function number(value) {
+    if (isNaN(value)) {
+      return false;
+    }
+    return typeof value === 'number';
+  },
+  object: function object(value) {
+    return (typeof value === 'undefined' ? 'undefined' : (0, _typeof3['default'])(value)) === 'object' && !types.array(value);
+  },
+  method: function method(value) {
+    return typeof value === 'function';
+  },
+  email: function email(value) {
+    return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;
+  },
+  url: function url(value) {
+    return typeof value === 'string' && !!value.match(pattern.url);
+  },
+  hex: function hex(value) {
+    return typeof value === 'string' && !!value.match(pattern.hex);
+  }
+};
+
+/**
+ *  Rule for validating the type of a value.
+ *
+ *  @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 type(rule, value, source, errors, options) {
+  if (rule.required && value === undefined) {
+    (0, _required2['default'])(rule, value, source, errors, options);
+    return;
+  }
+  var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];
+  var ruleType = rule.type;
+  if (custom.indexOf(ruleType) > -1) {
+    if (!types[ruleType](value)) {
+      errors.push(util.format(options.messages.types[ruleType], rule.fullField, rule.type));
+    }
+    // straight typeof check
+  } else if (ruleType && (typeof value === 'undefined' ? 'undefined' : (0, _typeof3['default'])(value)) !== rule.type) {
+    errors.push(util.format(options.messages.types[ruleType], rule.fullField, rule.type));
+  }
+}
+
+exports['default'] = type;
+module.exports = exports['default'];

+ 31 - 0
node_modules/async-validator/lib/rule/whitespace.js

@@ -0,0 +1,31 @@
+'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; } }
+
+/**
+ *  Rule for validating whitespace.
+ *
+ *  @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 whitespace(rule, value, source, errors, options) {
+  if (/^\s+$/.test(value) || value === '') {
+    errors.push(util.format(options.messages.whitespace, rule.fullField));
+  }
+}
+
+exports['default'] = whitespace;
+module.exports = exports['default'];

+ 210 - 0
node_modules/async-validator/lib/util.js

@@ -0,0 +1,210 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.warning = undefined;
+
+var _extends2 = require('babel-runtime/helpers/extends');
+
+var _extends3 = _interopRequireDefault(_extends2);
+
+var _typeof2 = require('babel-runtime/helpers/typeof');
+
+var _typeof3 = _interopRequireDefault(_typeof2);
+
+exports.format = format;
+exports.isEmptyValue = isEmptyValue;
+exports.isEmptyObject = isEmptyObject;
+exports.asyncMap = asyncMap;
+exports.complementError = complementError;
+exports.deepMerge = deepMerge;
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+var formatRegExp = /%[sdj%]/g;
+
+var warning = exports.warning = function warning() {};
+
+// don't print warning message when in production env or node runtime
+if (process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {
+  exports.warning = warning = function warning(type, errors) {
+    if (typeof console !== 'undefined' && console.warn) {
+      if (errors.every(function (e) {
+        return typeof e === 'string';
+      })) {
+        console.warn(type, errors);
+      }
+    }
+  };
+}
+
+function format() {
+  for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
+    args[_key] = arguments[_key];
+  }
+
+  var i = 1;
+  var f = args[0];
+  var len = args.length;
+  if (typeof f === 'function') {
+    return f.apply(null, args.slice(1));
+  }
+  if (typeof f === 'string') {
+    var str = String(f).replace(formatRegExp, function (x) {
+      if (x === '%%') {
+        return '%';
+      }
+      if (i >= len) {
+        return x;
+      }
+      switch (x) {
+        case '%s':
+          return String(args[i++]);
+        case '%d':
+          return Number(args[i++]);
+        case '%j':
+          try {
+            return JSON.stringify(args[i++]);
+          } catch (_) {
+            return '[Circular]';
+          }
+          break;
+        default:
+          return x;
+      }
+    });
+    for (var arg = args[i]; i < len; arg = args[++i]) {
+      str += ' ' + arg;
+    }
+    return str;
+  }
+  return f;
+}
+
+function isNativeStringType(type) {
+  return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'pattern';
+}
+
+function isEmptyValue(value, type) {
+  if (value === undefined || value === null) {
+    return true;
+  }
+  if (type === 'array' && Array.isArray(value) && !value.length) {
+    return true;
+  }
+  if (isNativeStringType(type) && typeof value === 'string' && !value) {
+    return true;
+  }
+  return false;
+}
+
+function isEmptyObject(obj) {
+  return Object.keys(obj).length === 0;
+}
+
+function asyncParallelArray(arr, func, callback) {
+  var results = [];
+  var total = 0;
+  var arrLength = arr.length;
+
+  function count(errors) {
+    results.push.apply(results, errors);
+    total++;
+    if (total === arrLength) {
+      callback(results);
+    }
+  }
+
+  arr.forEach(function (a) {
+    func(a, count);
+  });
+}
+
+function asyncSerialArray(arr, func, callback) {
+  var index = 0;
+  var arrLength = arr.length;
+
+  function next(errors) {
+    if (errors && errors.length) {
+      callback(errors);
+      return;
+    }
+    var original = index;
+    index = index + 1;
+    if (original < arrLength) {
+      func(arr[original], next);
+    } else {
+      callback([]);
+    }
+  }
+
+  next([]);
+}
+
+function flattenObjArr(objArr) {
+  var ret = [];
+  Object.keys(objArr).forEach(function (k) {
+    ret.push.apply(ret, objArr[k]);
+  });
+  return ret;
+}
+
+function asyncMap(objArr, option, func, callback) {
+  if (option.first) {
+    var flattenArr = flattenObjArr(objArr);
+    return asyncSerialArray(flattenArr, func, callback);
+  }
+  var firstFields = option.firstFields || [];
+  if (firstFields === true) {
+    firstFields = Object.keys(objArr);
+  }
+  var objArrKeys = Object.keys(objArr);
+  var objArrLength = objArrKeys.length;
+  var total = 0;
+  var results = [];
+  var next = function next(errors) {
+    results.push.apply(results, errors);
+    total++;
+    if (total === objArrLength) {
+      callback(results);
+    }
+  };
+  objArrKeys.forEach(function (key) {
+    var arr = objArr[key];
+    if (firstFields.indexOf(key) !== -1) {
+      asyncSerialArray(arr, func, next);
+    } else {
+      asyncParallelArray(arr, func, next);
+    }
+  });
+}
+
+function complementError(rule) {
+  return function (oe) {
+    if (oe && oe.message) {
+      oe.field = oe.field || rule.fullField;
+      return oe;
+    }
+    return {
+      message: oe,
+      field: oe.field || rule.fullField
+    };
+  };
+}
+
+function deepMerge(target, source) {
+  if (source) {
+    for (var s in source) {
+      if (source.hasOwnProperty(s)) {
+        var value = source[s];
+        if ((typeof value === 'undefined' ? 'undefined' : (0, _typeof3['default'])(value)) === 'object' && (0, _typeof3['default'])(target[s]) === 'object') {
+          target[s] = (0, _extends3['default'])({}, target[s], value);
+        } else {
+          target[s] = value;
+        }
+      }
+    }
+  }
+  return target;
+}

+ 42 - 0
node_modules/async-validator/lib/validator/array.js

@@ -0,0 +1,42 @@
+'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 }; }
+
+/**
+ *  Validates an array.
+ *
+ *  @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 array(rule, value, callback, source, options) {
+  var errors = [];
+  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+  if (validate) {
+    if ((0, _util.isEmptyValue)(value, 'array') && !rule.required) {
+      return callback();
+    }
+    _rule2['default'].required(rule, value, source, errors, options, 'array');
+    if (!(0, _util.isEmptyValue)(value, 'array')) {
+      _rule2['default'].type(rule, value, source, errors, options);
+      _rule2['default'].range(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+exports['default'] = array;
+module.exports = exports['default'];

+ 41 - 0
node_modules/async-validator/lib/validator/boolean.js

@@ -0,0 +1,41 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+
+var _util = require('../util');
+
+var _rule = require('../rule/');
+
+var _rule2 = _interopRequireDefault(_rule);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+/**
+ *  Validates a boolean.
+ *
+ *  @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 boolean(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 !== undefined) {
+      _rule2['default'].type(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+exports['default'] = boolean;
+module.exports = exports['default'];

+ 44 - 0
node_modules/async-validator/lib/validator/date.js

@@ -0,0 +1,44 @@
+'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 }; }
+
+function date(rule, value, callback, source, options) {
+  // console.log('integer rule called %j', rule);
+  var errors = [];
+  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+  // console.log('validate on %s value', value);
+  if (validate) {
+    if ((0, _util.isEmptyValue)(value) && !rule.required) {
+      return callback();
+    }
+    _rule2['default'].required(rule, value, source, errors, options);
+    if (!(0, _util.isEmptyValue)(value)) {
+      var dateObject = void 0;
+
+      if (typeof value === 'number') {
+        dateObject = new Date(value);
+      } else {
+        dateObject = value;
+      }
+
+      _rule2['default'].type(rule, dateObject, source, errors, options);
+      if (dateObject) {
+        _rule2['default'].range(rule, dateObject.getTime(), source, errors, options);
+      }
+    }
+  }
+  callback(errors);
+}
+
+exports['default'] = date;
+module.exports = exports['default'];

+ 43 - 0
node_modules/async-validator/lib/validator/enum.js

@@ -0,0 +1,43 @@
+'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'];

+ 42 - 0
node_modules/async-validator/lib/validator/float.js

@@ -0,0 +1,42 @@
+'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 }; }
+
+/**
+ *  Validates a number is a floating point number.
+ *
+ *  @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 floatFn(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 !== undefined) {
+      _rule2['default'].type(rule, value, source, errors, options);
+      _rule2['default'].range(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+exports['default'] = floatFn;
+module.exports = exports['default'];

+ 83 - 0
node_modules/async-validator/lib/validator/index.js

@@ -0,0 +1,83 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+
+var _string = require('./string');
+
+var _string2 = _interopRequireDefault(_string);
+
+var _method = require('./method');
+
+var _method2 = _interopRequireDefault(_method);
+
+var _number = require('./number');
+
+var _number2 = _interopRequireDefault(_number);
+
+var _boolean = require('./boolean');
+
+var _boolean2 = _interopRequireDefault(_boolean);
+
+var _regexp = require('./regexp');
+
+var _regexp2 = _interopRequireDefault(_regexp);
+
+var _integer = require('./integer');
+
+var _integer2 = _interopRequireDefault(_integer);
+
+var _float = require('./float');
+
+var _float2 = _interopRequireDefault(_float);
+
+var _array = require('./array');
+
+var _array2 = _interopRequireDefault(_array);
+
+var _object = require('./object');
+
+var _object2 = _interopRequireDefault(_object);
+
+var _enum = require('./enum');
+
+var _enum2 = _interopRequireDefault(_enum);
+
+var _pattern = require('./pattern');
+
+var _pattern2 = _interopRequireDefault(_pattern);
+
+var _date = require('./date');
+
+var _date2 = _interopRequireDefault(_date);
+
+var _required = require('./required');
+
+var _required2 = _interopRequireDefault(_required);
+
+var _type = require('./type');
+
+var _type2 = _interopRequireDefault(_type);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+exports['default'] = {
+  string: _string2['default'],
+  method: _method2['default'],
+  number: _number2['default'],
+  boolean: _boolean2['default'],
+  regexp: _regexp2['default'],
+  integer: _integer2['default'],
+  float: _float2['default'],
+  array: _array2['default'],
+  object: _object2['default'],
+  'enum': _enum2['default'],
+  pattern: _pattern2['default'],
+  date: _date2['default'],
+  url: _type2['default'],
+  hex: _type2['default'],
+  email: _type2['default'],
+  required: _required2['default']
+};
+module.exports = exports['default'];

+ 42 - 0
node_modules/async-validator/lib/validator/integer.js

@@ -0,0 +1,42 @@
+'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 }; }
+
+/**
+ *  Validates a number is an integer.
+ *
+ *  @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 integer(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 !== undefined) {
+      _rule2['default'].type(rule, value, source, errors, options);
+      _rule2['default'].range(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+exports['default'] = integer;
+module.exports = exports['default'];

+ 41 - 0
node_modules/async-validator/lib/validator/method.js

@@ -0,0 +1,41 @@
+'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 }; }
+
+/**
+ *  Validates a function.
+ *
+ *  @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 method(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 !== undefined) {
+      _rule2['default'].type(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+exports['default'] = method;
+module.exports = exports['default'];

+ 42 - 0
node_modules/async-validator/lib/validator/number.js

@@ -0,0 +1,42 @@
+'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 }; }
+
+/**
+ *  Validates a number.
+ *
+ *  @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 number(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 !== undefined) {
+      _rule2['default'].type(rule, value, source, errors, options);
+      _rule2['default'].range(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+exports['default'] = number;
+module.exports = exports['default'];

+ 41 - 0
node_modules/async-validator/lib/validator/object.js

@@ -0,0 +1,41 @@
+'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 }; }
+
+/**
+ *  Validates an object.
+ *
+ *  @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 object(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 !== undefined) {
+      _rule2['default'].type(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+exports['default'] = object;
+module.exports = exports['default'];

+ 44 - 0
node_modules/async-validator/lib/validator/pattern.js

@@ -0,0 +1,44 @@
+'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 }; }
+
+/**
+ *  Validates a regular expression pattern.
+ *
+ *  Performs validation when a rule only contains
+ *  a pattern property but is not declared as a string type.
+ *
+ *  @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 pattern(rule, value, callback, source, options) {
+  var errors = [];
+  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+  if (validate) {
+    if ((0, _util.isEmptyValue)(value, 'string') && !rule.required) {
+      return callback();
+    }
+    _rule2['default'].required(rule, value, source, errors, options);
+    if (!(0, _util.isEmptyValue)(value, 'string')) {
+      _rule2['default'].pattern(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+exports['default'] = pattern;
+module.exports = exports['default'];

+ 41 - 0
node_modules/async-validator/lib/validator/regexp.js

@@ -0,0 +1,41 @@
+'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 }; }
+
+/**
+ *  Validates the regular expression type.
+ *
+ *  @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 regexp(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 (!(0, _util.isEmptyValue)(value)) {
+      _rule2['default'].type(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+exports['default'] = regexp;
+module.exports = exports['default'];

+ 25 - 0
node_modules/async-validator/lib/validator/required.js

@@ -0,0 +1,25 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+
+var _typeof2 = require('babel-runtime/helpers/typeof');
+
+var _typeof3 = _interopRequireDefault(_typeof2);
+
+var _rule = require('../rule/');
+
+var _rule2 = _interopRequireDefault(_rule);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+function required(rule, value, callback, source, options) {
+  var errors = [];
+  var type = Array.isArray(value) ? 'array' : typeof value === 'undefined' ? 'undefined' : (0, _typeof3['default'])(value);
+  _rule2['default'].required(rule, value, source, errors, options, type);
+  callback(errors);
+}
+
+exports['default'] = required;
+module.exports = exports['default'];

+ 46 - 0
node_modules/async-validator/lib/validator/string.js

@@ -0,0 +1,46 @@
+'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 }; }
+
+/**
+ *  Performs validation for string types.
+ *
+ *  @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 string(rule, value, callback, source, options) {
+  var errors = [];
+  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+  if (validate) {
+    if ((0, _util.isEmptyValue)(value, 'string') && !rule.required) {
+      return callback();
+    }
+    _rule2['default'].required(rule, value, source, errors, options, 'string');
+    if (!(0, _util.isEmptyValue)(value, 'string')) {
+      _rule2['default'].type(rule, value, source, errors, options);
+      _rule2['default'].range(rule, value, source, errors, options);
+      _rule2['default'].pattern(rule, value, source, errors, options);
+      if (rule.whitespace === true) {
+        _rule2['default'].whitespace(rule, value, source, errors, options);
+      }
+    }
+  }
+  callback(errors);
+}
+
+exports['default'] = string;
+module.exports = exports['default'];

+ 32 - 0
node_modules/async-validator/lib/validator/type.js

@@ -0,0 +1,32 @@
+'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 }; }
+
+function type(rule, value, callback, source, options) {
+  var ruleType = rule.type;
+  var errors = [];
+  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+  if (validate) {
+    if ((0, _util.isEmptyValue)(value, ruleType) && !rule.required) {
+      return callback();
+    }
+    _rule2['default'].required(rule, value, source, errors, options, ruleType);
+    if (!(0, _util.isEmptyValue)(value, ruleType)) {
+      _rule2['default'].type(rule, value, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+
+exports['default'] = type;
+module.exports = exports['default'];

+ 85 - 0
node_modules/async-validator/package.json

@@ -0,0 +1,85 @@
+{
+  "_from": "async-validator@~1.8.1",
+  "_id": "async-validator@1.8.5",
+  "_inBundle": false,
+  "_integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==",
+  "_location": "/async-validator",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "async-validator@~1.8.1",
+    "name": "async-validator",
+    "escapedName": "async-validator",
+    "rawSpec": "~1.8.1",
+    "saveSpec": null,
+    "fetchSpec": "~1.8.1"
+  },
+  "_requiredBy": [
+    "/element-ui"
+  ],
+  "_resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-1.8.5.tgz",
+  "_shasum": "dc3e08ec1fd0dddb67e60842f02c0cd1cec6d7f0",
+  "_spec": "async-validator@~1.8.1",
+  "_where": "D:\\通防技术部\\jeecg-uniapp\\node_modules\\element-ui",
+  "author": {
+    "name": "yiminghe@gmail.com"
+  },
+  "bugs": {
+    "url": "http://github.com/yiminghe/async-validator/issues"
+  },
+  "bundleDependencies": false,
+  "config": {
+    "port": 8010
+  },
+  "dependencies": {
+    "babel-runtime": "6.x"
+  },
+  "deprecated": false,
+  "description": "validate form asynchronous",
+  "devDependencies": {
+    "coveralls": "^2.13.1",
+    "jest": "20.x",
+    "pre-commit": "1.x",
+    "rc-tools": "6.x"
+  },
+  "files": [
+    "lib",
+    "es"
+  ],
+  "homepage": "http://github.com/yiminghe/async-validator",
+  "jest": {
+    "collectCoverageFrom": [
+      "src/*"
+    ],
+    "transform": {
+      "\\.jsx?$": "./node_modules/rc-tools/scripts/jestPreprocessor.js"
+    }
+  },
+  "keywords": [
+    "validator",
+    "validate",
+    "async"
+  ],
+  "licenses": "MIT",
+  "main": "./lib/index",
+  "module": "./es/index",
+  "name": "async-validator",
+  "pre-commit": [
+    "lint"
+  ],
+  "repository": {
+    "type": "git",
+    "url": "git+ssh://git@github.com/yiminghe/async-validator.git"
+  },
+  "scripts": {
+    "build": "rc-tools run build",
+    "coverage": "jest --coverage && cat ./coverage/lcov.info | coveralls",
+    "gh-pages": "rc-tools run gh-pages",
+    "lint": "rc-tools run lint",
+    "pub": "rc-tools run pub --babel-runtime",
+    "start": "rc-tools run server",
+    "test": "jest"
+  },
+  "version": "1.8.5"
+}

+ 50 - 0
node_modules/babel-helper-vue-jsx-merge-props/index.js

@@ -0,0 +1,50 @@
+var nestRE = /^(attrs|props|on|nativeOn|class|style|hook)$/
+
+module.exports = function mergeJSXProps (objs) {
+  return objs.reduce(function (a, b) {
+    var aa, bb, key, nestedKey, temp
+    for (key in b) {
+      aa = a[key]
+      bb = b[key]
+      if (aa && nestRE.test(key)) {
+        // normalize class
+        if (key === 'class') {
+          if (typeof aa === 'string') {
+            temp = aa
+            a[key] = aa = {}
+            aa[temp] = true
+          }
+          if (typeof bb === 'string') {
+            temp = bb
+            b[key] = bb = {}
+            bb[temp] = true
+          }
+        }
+        if (key === 'on' || key === 'nativeOn' || key === 'hook') {
+          // merge functions
+          for (nestedKey in bb) {
+            aa[nestedKey] = mergeFn(aa[nestedKey], bb[nestedKey])
+          }
+        } else if (Array.isArray(aa)) {
+          a[key] = aa.concat(bb)
+        } else if (Array.isArray(bb)) {
+          a[key] = [aa].concat(bb)
+        } else {
+          for (nestedKey in bb) {
+            aa[nestedKey] = bb[nestedKey]
+          }
+        }
+      } else {
+        a[key] = b[key]
+      }
+    }
+    return a
+  }, {})
+}
+
+function mergeFn (a, b) {
+  return function () {
+    a && a.apply(this, arguments)
+    b && b.apply(this, arguments)
+  }
+}

+ 48 - 0
node_modules/babel-helper-vue-jsx-merge-props/package.json

@@ -0,0 +1,48 @@
+{
+  "_from": "babel-helper-vue-jsx-merge-props@^2.0.0",
+  "_id": "babel-helper-vue-jsx-merge-props@2.0.3",
+  "_inBundle": false,
+  "_integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==",
+  "_location": "/babel-helper-vue-jsx-merge-props",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "babel-helper-vue-jsx-merge-props@^2.0.0",
+    "name": "babel-helper-vue-jsx-merge-props",
+    "escapedName": "babel-helper-vue-jsx-merge-props",
+    "rawSpec": "^2.0.0",
+    "saveSpec": null,
+    "fetchSpec": "^2.0.0"
+  },
+  "_requiredBy": [
+    "/element-ui"
+  ],
+  "_resolved": "https://registry.npmmirror.com/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
+  "_shasum": "22aebd3b33902328e513293a8e4992b384f9f1b6",
+  "_spec": "babel-helper-vue-jsx-merge-props@^2.0.0",
+  "_where": "D:\\通防技术部\\jeecg-uniapp\\node_modules\\element-ui",
+  "author": {
+    "name": "Evan You"
+  },
+  "bugs": {
+    "url": "https://github.com/vuejs/babel-helper-vue-jsx-merge-props/issues"
+  },
+  "bundleDependencies": false,
+  "deprecated": false,
+  "description": "babel helper for vue jsx spread.",
+  "homepage": "https://github.com/vuejs/babel-helper-vue-jsx-merge-props#readme",
+  "keywords": [
+    "babel",
+    "vue",
+    "jsx"
+  ],
+  "license": "MIT",
+  "main": "index.js",
+  "name": "babel-helper-vue-jsx-merge-props",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/vuejs/babel-helper-vue-jsx-merge-props.git"
+  },
+  "version": "2.0.3"
+}

+ 2 - 0
node_modules/babel-runtime/.npmignore

@@ -0,0 +1,2 @@
+scripts
+node_modules

+ 2 - 0
node_modules/babel-runtime/README.md

@@ -0,0 +1,2 @@
+# babel-runtime
+

+ 4 - 0
node_modules/babel-runtime/core-js.js

@@ -0,0 +1,4 @@
+module.exports = {
+  "default": require("core-js/library"),
+  __esModule: true
+};

+ 1 - 0
node_modules/babel-runtime/core-js/array/concat.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/concat"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/copy-within.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/copy-within"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/entries.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/entries"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/every.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/every"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/fill.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/fill"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/filter.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/filter"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/find-index.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/find-index"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/find.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/find"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/for-each.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/for-each"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/from.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/from"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/includes.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/includes"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/index-of.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/index-of"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/join.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/join"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/keys.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/keys"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/last-index-of.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/last-index-of"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/map.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/map"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/of.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/of"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/pop.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/pop"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/push.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/push"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/reduce-right.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/reduce-right"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/reduce.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/reduce"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/reverse.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/reverse"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/shift.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/shift"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/slice.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/slice"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/some.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/some"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/sort.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/sort"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/splice.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/splice"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/unshift.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/unshift"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/array/values.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/array/values"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/asap.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/asap"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/clear-immediate.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/clear-immediate"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/error/is-error.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/error/is-error"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/get-iterator.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/get-iterator"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/is-iterable.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/is-iterable"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/json/stringify.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/json/stringify"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/map.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/map"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/math/acosh.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/math/acosh"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/math/asinh.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/math/asinh"), __esModule: true };

+ 1 - 0
node_modules/babel-runtime/core-js/math/atanh.js

@@ -0,0 +1 @@
+module.exports = { "default": require("core-js/library/fn/math/atanh"), __esModule: true };

Некоторые файлы не были показаны из-за большого количества измененных файлов