UNPKG

@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
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>;