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.