UNPKG

@al00x/forms

Version:

Angular Forms, the way it should be!

21 lines (20 loc) 1.03 kB
import { AbstractControl, FormControlStatus, FormGroup } from '@angular/forms'; import { Observable } from 'rxjs'; export interface FormGroupExtended<TValue extends { [K in keyof TValue]: AbstractControl<any, any>; } = any, DATA = any> extends FormGroup<TValue> { extended: true; status$: Observable<FormControlStatus>; invalid$: Observable<boolean>; valid$: Observable<boolean>; data$: Observable<DATA | undefined>; data: DATA | undefined; markAllAsDirty: () => void; setReadonly: (value: boolean, ...keys: (keyof TValue)[]) => FormGroupExtended<TValue, DATA>; setDisabled: (value: boolean, ...keys: (keyof TValue)[]) => FormGroupExtended<TValue, DATA>; setData: (value: DATA | undefined) => FormGroupExtended<TValue, DATA>; } export declare function formGroup<T extends { [K in keyof T]: AbstractControl<any, any>; }, DATA = any>(inputs: T): FormGroupExtended<T, any>; export declare function isFormGroupExtended(group: FormGroup | FormGroupExtended): group is FormGroupExtended;