@ssv/ngx.command
Version:
Command pattern implementation for angular. Command used to encapsulate information which is needed to perform an action.
22 lines (21 loc) • 1.13 kB
TypeScript
import { AbstractControl } from "@angular/forms";
import { Observable } from "rxjs";
import { CommandCreator, ICommand } from "./command.model";
import { type Signal } from "@angular/core";
/** Determines whether the arg object is of type `Command`. */
export declare function isCommand(arg: unknown): arg is ICommand;
/** Determines whether the arg object is of type `CommandCreator`. */
export declare function isCommandCreator(arg: unknown): arg is CommandCreator;
export interface CanExecuteFormOptions {
/** Determines whether to check for validity. (defaults: true) */
validity?: boolean;
/** Determines whether to check whether UI has been touched. (defaults: true) */
dirty?: boolean;
}
/** Get can execute from form validity/pristine as an observable. */
export declare function canExecuteFromNgForm(form: AbstractControl, options?: CanExecuteFormOptions): Observable<boolean>;
/** Can executed based on valid/dirty signal inputs. */
export declare function canExecuteFromSignals(signals: {
valid: Signal<boolean>;
dirty: Signal<boolean>;
}, options?: CanExecuteFormOptions): Signal<boolean>;