Интерфейсы и типы
Интерфейсы
ActionLike
Интерфейс, описывающий публичный контракт для экземпляров Action без деталей реализации.
Свойства
Все свойства доступны только для чтения и соответствуют свойствам класса Action:
| Свойство | Тип |
|---|---|
name | string |
owner | Model<T> |
possibleStates | ActionStateName[] |
state | ActionStateName |
abortController | null | AbortController |
args | Args | never[] |
promise | null | Promise<void> |
error | null | ActionError |
abortReason | unknown |
isPending | boolean |
isError | boolean |
isReady | boolean |
isLock | boolean |
isAbort | boolean |
Методы
Все методы соответствуют публичным методам класса Action:
| Метод | Сигнатура |
|---|---|
is | is(...args: ActionStateName[]): boolean |
validate | validate(...args: Args): Error[] |
exec | exec(...args: Args): Promise<void> |
abort | abort(reason?: unknown): Promise<void> |
lock | lock(): Promise<void> |
unlock | unlock(): this |
resetError | resetError(): this |
toString | toString(): string |
См. также: Action и ActionError.
Типы
Вспомогательные типы, используемые в публичном API моделей и действий.
ActionStateName
typescript
type ActionStateName = 'pending' | 'error' | 'lock' | 'ready' | 'abort'Model<T>
Тип, представляющий экземпляр модели, обёрнутый прокси. Предоставляет доступ к действиям как к экземплярам Action вместо методов.
OriginalMethod
Тип, представляющий оригинальный метод до применения декоратора @action.
OriginalMethodWrapper
Тип, представляющий метод после применения декоратора @action.
