@schoolbelle/common
Version:
28 lines • 2.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { FormControl } from "@angular/forms";
import { set } from "lodash";
/**
* @param {?} from
* @param {?=} delimiter
* @param {?=} paths
* @return {?}
*/
export function reduceFormErrors(from, delimiter = '.', paths = []) {
/** @type {?} */
let acc = {};
if (from instanceof FormControl) {
if (from.invalid)
set(acc, [paths.join(delimiter)], from.errors);
return acc;
}
else {
for (let key in from.controls) {
acc = Object.assign({}, acc, reduceFormErrors(from.controls[key], delimiter, paths.concat(key)));
}
return acc;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlLWZvcm0tZXJyb3JzLmZuLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNjaG9vbGJlbGxlL2NvbW1vbi9mdW5jdGlvbnMvIiwic291cmNlcyI6WyJsaWIvcmVkdWNlLWZvcm0tZXJyb3JzLmZuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQWEsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7Ozs7OztBQUU3QixNQUFNLFVBQVUsZ0JBQWdCLENBQUUsSUFBb0MsRUFBRSxTQUFTLEdBQUcsR0FBRyxFQUFFLFFBQWlCLEVBQUU7O1FBQ3RHLEdBQUcsR0FBRyxFQUFFO0lBQ1osSUFBSSxJQUFJLFlBQVksV0FBVyxFQUFFO1FBQzdCLElBQUksSUFBSSxDQUFDLE9BQU87WUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNoRSxPQUFPLEdBQUcsQ0FBQztLQUNaO1NBQU07UUFDTCxLQUFJLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDNUIsR0FBRyxxQkFBTyxHQUFHLEVBQUssZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkY7UUFDRCxPQUFPLEdBQUcsQ0FBQztLQUNaO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1BcnJheSwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgc2V0IH0gZnJvbSBcImxvZGFzaFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVkdWNlRm9ybUVycm9ycyAoZnJvbTpGb3JtR3JvdXB8Rm9ybUFycmF5fEZvcm1Db250cm9sLCBkZWxpbWl0ZXIgPSAnLicsIHBhdGhzOnN0cmluZ1tdID0gW10pIHtcbiAgbGV0IGFjYyA9IHt9O1xuICBpZiAoZnJvbSBpbnN0YW5jZW9mIEZvcm1Db250cm9sKSB7XG4gICAgICBpZiAoZnJvbS5pbnZhbGlkKSBzZXQoYWNjLCBbcGF0aHMuam9pbihkZWxpbWl0ZXIpXSwgZnJvbS5lcnJvcnMpXG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3IobGV0IGtleSBpbiBmcm9tLmNvbnRyb2xzKSB7XG4gICAgICAgIGFjYyA9IHsuLi5hY2MsIC4uLnJlZHVjZUZvcm1FcnJvcnMoZnJvbS5jb250cm9sc1trZXldLCBkZWxpbWl0ZXIsIHBhdGhzLmNvbmNhdChrZXkpKX07XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH1cbn0gICJdfQ==