ngrx-forms
Version:
Proper integration of forms in Angular 4 applications using ngrx
11 lines • 3.17 kB
JavaScript
import { AddArrayControlAction } from '../actions';
import { formArrayReducer } from '../array/reducer';
import { isArrayState } from '../state';
import { ensureState } from './util';
export function addArrayControl(valueOrState, indexOrValue, index) {
if (isArrayState(valueOrState)) {
return formArrayReducer(valueOrState, new AddArrayControlAction(valueOrState.id, indexOrValue, index));
}
return (s) => addArrayControl(ensureState(s), valueOrState, indexOrValue);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWFycmF5LWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXBkYXRlLWZ1bmN0aW9uL2FkZC1hcnJheS1jb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQWtCLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBY3JDLE1BQU0sVUFBVSxlQUFlLENBQVMsWUFBNkMsRUFBRSxZQUF5QyxFQUFFLEtBQWM7SUFDOUksSUFBSSxZQUFZLENBQUMsWUFBWSxDQUFDLEVBQUU7UUFDOUIsT0FBTyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLFlBQXNCLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztLQUNsSDtJQUVELE9BQU8sQ0FBQyxDQUF5QixFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQXNCLEVBQUUsWUFBc0IsQ0FBQyxDQUFDO0FBQ3hILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZGRBcnJheUNvbnRyb2xBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zJztcclxuaW1wb3J0IHsgZm9ybUFycmF5UmVkdWNlciB9IGZyb20gJy4uL2FycmF5L3JlZHVjZXInO1xyXG5pbXBvcnQgeyBGb3JtQXJyYXlTdGF0ZSwgaXNBcnJheVN0YXRlIH0gZnJvbSAnLi4vc3RhdGUnO1xyXG5pbXBvcnQgeyBlbnN1cmVTdGF0ZSB9IGZyb20gJy4vdXRpbCc7XHJcblxyXG4vKipcclxuICogVGhpcyB1cGRhdGUgZnVuY3Rpb24gdGFrZXMgYSB2YWx1ZSBhbmQgb3B0aW9uYWxseSBhbiBpbmRleCBhbmQgcmV0dXJucyBhIHByb2plY3Rpb24gZnVuY3Rpb25cclxuICogdGhhdCBhZGRzIGEgY2hpbGQgY29udHJvbCBhdCB0aGUgZ2l2ZW4gaW5kZXggb3IgYXQgdGhlIGVuZCBvZiBhIGZvcm0gYXJyYXkgc3RhdGUuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gYWRkQXJyYXlDb250cm9sPFRWYWx1ZT4odmFsdWU6IFRWYWx1ZSwgaW5kZXg/OiBudW1iZXIpOiAoc3RhdGU6IEZvcm1BcnJheVN0YXRlPFRWYWx1ZT4pID0+IEZvcm1BcnJheVN0YXRlPFRWYWx1ZT47XHJcblxyXG4vKipcclxuICogVGhpcyB1cGRhdGUgZnVuY3Rpb24gdGFrZXMgYW4gYXJyYXkgZm9ybSBzdGF0ZSwgYSB2YWx1ZSwgYW5kIG9wdGlvbmFsbHkgYW4gaW5kZXggYW5kIGFkZHMgYVxyXG4gKiBjaGlsZCBjb250cm9sIGF0IHRoZSBnaXZlbiBpbmRleCBvciBhdCB0aGUgZW5kIG9mIHRoZSBzdGF0ZS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBhZGRBcnJheUNvbnRyb2w8VFZhbHVlPihzdGF0ZTogRm9ybUFycmF5U3RhdGU8VFZhbHVlPiwgdmFsdWU6IFRWYWx1ZSwgaW5kZXg/OiBudW1iZXIpOiBGb3JtQXJyYXlTdGF0ZTxUVmFsdWU+O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGFkZEFycmF5Q29udHJvbDxUVmFsdWU+KHZhbHVlT3JTdGF0ZTogVFZhbHVlIHwgRm9ybUFycmF5U3RhdGU8VFZhbHVlPiwgaW5kZXhPclZhbHVlOiBudW1iZXIgfCBUVmFsdWUgfCB1bmRlZmluZWQsIGluZGV4PzogbnVtYmVyKSB7XHJcbiAgaWYgKGlzQXJyYXlTdGF0ZSh2YWx1ZU9yU3RhdGUpKSB7XHJcbiAgICByZXR1cm4gZm9ybUFycmF5UmVkdWNlcih2YWx1ZU9yU3RhdGUsIG5ldyBBZGRBcnJheUNvbnRyb2xBY3Rpb24odmFsdWVPclN0YXRlLmlkLCBpbmRleE9yVmFsdWUgYXMgVFZhbHVlLCBpbmRleCkpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIChzOiBGb3JtQXJyYXlTdGF0ZTxUVmFsdWU+KSA9PiBhZGRBcnJheUNvbnRyb2woZW5zdXJlU3RhdGUocyksIHZhbHVlT3JTdGF0ZSBhcyBUVmFsdWUsIGluZGV4T3JWYWx1ZSBhcyBudW1iZXIpO1xyXG59XHJcbiJdfQ==