@ngspot/ngx-errors
Version:
<p align="center"> <img width="20%" height="20%" src="https://github.com/DmitryEfimenko/ngspot/blob/main/packages/ngx-errors/package/assets/logo.png?raw=true"> </p>
37 lines (36 loc) • 1.42 kB
TypeScript
import { AbstractControl } from '@angular/forms';
import { Observable } from 'rxjs';
import type { MethodNames, TypeOfClassMethod } from './typings';
export type AbstractControlMethods = 'markAsTouched' | 'markAsUntouched' | 'markAsDirty' | 'markAsPristine';
export type EmitValue = boolean;
export type Methods = Partial<Record<AbstractControlMethods, EmitValue>>;
/**
* Patches the method to first execute the provided function and then
* the original functionality
* @param obj Object with the method of interest
* @param methodName Method name to patch
* @param fn Function to execute before the original functionality
*/
export declare function patchObjectMethodWith<T, K extends MethodNames<T>>(obj: T, methodName: K, fn: TypeOfClassMethod<T, K>): void;
/**
* Extract a touched changed observable from an abstract control
* @param control AbstractControl
*
* @usage
* ```
* const formControl = new FormControl();
* const touchedChanged$ = extractTouchedChanges(formControl);
* ```
*/
export declare function extractTouchedChanges(control: AbstractControl): Observable<boolean>;
/**
* Extract a dirty changed observable from an abstract control
* @param control AbstractControl
*
* @usage
* ```
* const formControl = new FormControl();
* const dirtyChanged$ = extractDirtyChanges(formControl);
* ```
*/
export declare function extractDirtyChanges(control: AbstractControl): Observable<boolean>;