createTrigger
Стабильный · с 0.1.0
Единственный конструктор в Triggery. Возвращает Trigger<Schema>, зарегистрированный в указанном рантайме (или в рантайме по умолчанию, если параметр опущен). Большинство приложений создают один триггер на сценарий — один файл на триггер.
Сигнатура
Заголовок раздела «Сигнатура»Дженерик S — это схема: три опциональные карты для событий, условий и действий. В обычном использовании он никогда не выводится, всегда передавай его явно.
Для void-payload используй void (события) или undefined (действия). Имена могут быть любой валидной строкой; по соглашению — kebab-case-глаголы для событий, camelCase для условий и действий.
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
id | string (литерал) | да | — | Уникальный ключ в реестре рантайма. Должен быть строковым литералом — см. no-dynamic-id. |
events | readonly EventKey<S>[] | да | — | Имена событий из S['events'], на которые реагирует триггер. |
required | readonly ConditionKey<S>[] | нет | [] | Условия, которые должны быть зарегистрированы, чтобы обработчик запустился. |
schedule | 'microtask' | 'sync' | нет | 'microtask' | Когда диспатчить подходящие события. |
concurrency | ConcurrencyStrategy | нет | 'take-latest' | Как взаимодействуют асинхронные запуски обработчика. |
scope | string | нет | '' | Ограничивает триггер поддеревом <TriggerScope id="…">. |
handler | TriggerHandler<S> | да | — | Функция, вызываемая, когда событие совпало и условия required удовлетворены. |
Возвращает
Заголовок раздела «Возвращает»Объект Trigger<S> — стабильную идентичность, которую можно передавать в хуки React / Solid / Vue.
| Метод | Описание |
|---|---|
trigger.id | Та же строка, которую ты передал. |
trigger.enable() | Заново включить отключённый триггер. |
trigger.disable() | Пропускать будущие события (записывает 'disabled' в инспектор). |
trigger.isEnabled() | Boolean. |
trigger.inspect() | Последний TriggerInspectSnapshot либо undefined. |
trigger.dispose() | Снять регистрацию в рантайме. Редко — используется в тестах. |
trigger.namedHooks() | Бросает исключение при прямом вызове в @triggery/core — используй createNamedHooks из биндинга. |
Примеры
Заголовок раздела «Примеры»Минимальный триггер
Заголовок раздела «Минимальный триггер»Полная схема со всеми тремя картами
Заголовок раздела «Полная схема со всеми тремя картами»Асинхронный обработчик с AbortSignal
Заголовок раздела «Асинхронный обработчик с AbortSignal»Регистрация в конкретном рантайме
Заголовок раздела «Регистрация в конкретном рантайме»Замечания
Заголовок раздела «Замечания»См. также
Заголовок раздела «См. также» createRuntime Контейнер, в котором живут триггеры, условия и действия.
TriggerSchema Общий тип — карты events / conditions / actions.
TriggerHandler Тип функции аргумента-обработчика.
Руководство по анатомии триггера Пошаговый разбор полей в нарративной форме.