@vnmfify/core
Version:
```shell npm i @vnmfify/core -S ```
33 lines (31 loc) • 1.04 kB
JavaScript
import _isEmpty from "lodash/isEmpty";
import _filter from "lodash/filter";
import _flatMap from "lodash/flatMap";
export function validateAll(fields) {
return new Promise((resolve, reject) => {
Promise.all(fields.map(field => field.validate().then(() => [], reason => [reason]))).then(errors => _flatMap(errors, error => error)).then(errors => _filter(errors, error => !_isEmpty(error.errors))).then(errors => {
if (!_isEmpty(errors)) {
reject(errors);
} else {
resolve();
}
});
});
}
export function validateSequence(fields) {
return new Promise((resolve, reject) => {
fields.reduce((promise, field) => promise.then(errors => {
if (_isEmpty(errors)) {
return field.validate().then(() => [], error => [error]);
}
return errors;
}), Promise.resolve([])).then(errors => {
if (_isEmpty(errors)) {
resolve();
} else {
reject(errors);
}
});
});
}
//# sourceMappingURL=form.validate.js.map