Skip to content

API ​

Этот документ описывает публичный API основных классов и интерфейсов @vue-modeler/model.

ProtoModel ​

Абстрактный базовый класс для создания реактивных моделей с управлением действиями.

Статические методы ​

МетодОписание
createModelОборачивает ProtoModel в Model<T> (proxy) для доступа к @action как к Action
modelФабрика для создания Model<T> с сигнатурой конструктора класса

Свойства экземпляра (ProtoModel) ​

СвойствоТипОписание
hasPendingActionsbooleanЕсть ли в модели действия в состоянии pending
hasActionWithErrorbooleanЕсть ли в модели действия в состоянии error

Защищённые методы (ProtoModel) ​

МетодОписание
watchРегистрирует watch/watchEffect в локальном EffectScope модели
computedСоздаёт computed в локальном EffectScope модели
actionВозвращает Action для метода с @action (создаёт при первом обращении)
setActionStateОбновляет агрегированное состояние действий модели
validateArgsПользовательская валидация аргументов действий (переопределяется в модели)

Публичные методы (ProtoModel) ​

МетодОписание
isModelOfПроверка типа модели через instanceof
destructorОстанавливает watchers и EffectScope модели

Action ​

Класс, представляющий действие (декорированный метод) с возможностями управления состоянием.

Статические свойства (Action) ​

СвойствоТипОписание
possibleStateobjectВсе возможные состояния действия
actionFlagSymbolФлаг, которым декоратор @action помечает методы
abortedByLockSymbolМаркер причины abort при lock

Статические методы (Action) ​

МетодОписание
createФабрика реактивного (shallowReactive) экземпляра Action

Свойства экземпляра (Action) ​

СвойствоТипОписание
namestringИмя действия (имя метода)
ownerModel<T>Владелец действия (модель)
possibleStatesActionStateName[]Все возможные состояния
stateActionStateNameТекущее состояние
abortControllerAbortController | nullAbortController, если действие pending
argsArgs | never[]Аргументы последнего запуска
promisePromise<void> | nullPromise текущего запуска (pending)
errorActionError | nullОшибка выполнения (error)
abortReasonunknownПричина abort
isPendingbooleanstate === 'pending'
isErrorbooleanstate === 'error'
isReadybooleanstate === 'ready'
isLockbooleanstate === 'lock'
isAbortbooleanstate === 'abort'

Методы экземпляра (Action) ​

МетодОписание
isПроверяет состояние(я) действия
validateЗапускает валидацию аргументов
execВыполняет действие
abortПрерывает выполнение
lockБлокирует выполнение
unlockСнимает блокировку
resetErrorСбрасывает ошибку
toStringСтроковое представление

ActionLike ​

Интерфейс, описывающий публичный контракт для экземпляров Action без деталей реализации.

ActionError ​

Класс ошибки, представляющий исключение, произошедшее во время выполнения действия. Это исключение, которое должно быть обработано и отображено пользователю в пользовательском интерфейсе.

Конструктор (ActionError) ​

КонструкторОписание
new ActionError(...)Ошибка, возникающая при выполнении действия (Action.error)

Свойства экземпляра (ActionError) ​

СвойствоТипОписание
causeErrorОригинальная ошибка-причина

Методы экземпляра (ActionError) ​

МетодОписание
throwCauseВыбрасывает оригинальную ошибку-причину
toStringВозвращает сообщение из ошибки-причины

Типы ​

Вспомогательные типы, используемые в публичном API моделей и действий.

Внутренние ошибки ​

Классы ошибок, связанные с некорректным жизненным циклом и состояниями действий.

Released under the MIT License.