getDefaultRuntime
Стабильный · с 0.1.0
Возвращает глобальный Runtime по умолчанию, лениво создавая его при первом вызове. К этому рантайму обращаются все биндинги, когда в дереве нет <TriggerRuntimeProvider>. Большинство приложений никогда не зовут его напрямую — это деталь реализации хуков.
Функция идемпотентна. Первый вызов конструирует рантайм с опциями по умолчанию; каждый последующий вызов возвращает тот же экземпляр, пока setDefaultRuntime его не заменит.
import { getDefaultRuntime } from '@triggery/core';
Сигнатура
Заголовок раздела «Сигнатура»function getDefaultRuntime(): Runtime;Параметры
Заголовок раздела «Параметры»Нет.
Возвращает
Заголовок раздела «Возвращает»Один общий экземпляр Runtime. Последующие вызовы возвращают ту же ссылку (===).
Примеры
Заголовок раздела «Примеры»Зажечь событие вне React
Заголовок раздела «Зажечь событие вне React»import { createTrigger function createTrigger<S extends TriggerSchema>(config: CreateTriggerConfig<S>, runtime?: Runtime): Trigger<S>Create a trigger and register it in a runtime (the default runtime if none is passed). , getDefaultRuntime function getDefaultRuntime(): Runtime } from '@triggery/core';
createTrigger createTrigger<{
events: {
ping: number;
};
}>(config: CreateTriggerConfig<{
events: {
ping: number;
};
}>, runtime?: Runtime): Trigger<{
events: {
ping: number;
};
}>
Create a trigger and register it in a runtime (the default runtime if none is passed). <{ events events: {
ping: number;
}
: { ping ping: number : number } }>({
id id: string : 'demo:ping',
events events: readonly "ping"[] : ['ping'],
handler handler: TriggerHandler<{
events: {
ping: number;
};
}, never>
({ event event: {
readonly name: "ping";
readonly payload: number;
}
}) {
console var console: Console .log Console.log(...data: any[]): voidThe **`console.log()`** static method outputs a message to the console.
[MDN Reference](https://developer.mozilla.org/docs/Web/API/console/log_static) ('ping', event event: {
readonly name: "ping";
readonly payload: number;
}
.payload payload: number );
},
});
// In a WebSocket adapter, a service worker, or any non-React layer.
getDefaultRuntime function getDefaultRuntime(): Runtime ().fire function fire(eventName: string, payload?: unknown): voidFire an event asynchronously (through the scheduler). ('ping', 42);Заинспектировать реестр из glue-кода devtools
Заголовок раздела «Заинспектировать реестр из glue-кода devtools»import { getDefaultRuntime function getDefaultRuntime(): Runtime } from '@triggery/core';
export function dumpGraph function dumpGraph(): RuntimeGraph () {
const runtime const runtime: Runtime = getDefaultRuntime function getDefaultRuntime(): Runtime ();
return runtime const runtime: Runtime .graph function graph(): RuntimeGraphJSON-friendly snapshot of the trigger registry — for devtools, the CLI's
`triggery graph` command, and tooling that introspects connections. ();
}Доказательство ленивого создания
Заголовок раздела «Доказательство ленивого создания»import { getDefaultRuntime function getDefaultRuntime(): Runtime } from '@triggery/core';
const a const a: Runtime = getDefaultRuntime function getDefaultRuntime(): Runtime ();
const b const b: Runtime = getDefaultRuntime function getDefaultRuntime(): Runtime ();
console var console: Console .log Console.log(...data: any[]): voidThe **`console.log()`** static method outputs a message to the console.
[MDN Reference](https://developer.mozilla.org/docs/Web/API/console/log_static) (a const a: Runtime === b const b: Runtime ); // true — same instanceЗамечания
Заголовок раздела «Замечания»См. также
Заголовок раздела «См. также» setDefaultRuntime Заменить синглтон — полезно в тестах.
createRuntime Создать изолированный рантайм.
Тип Runtime Полная поверхность методов.
TriggerRuntimeProvider Прокинуть рантайм через контекст.