createInspector
Стабильный · с 0.1.0
Создаёт инспектор на кольцевом буфере, которым рантайм пользуется для записи снепшотов. Рантайм вызывает его за тебя, когда ты передаёшь inspectorBufferSize в createRuntime; напрямую createInspector нужен только при сборке кастомной инфраструктуры рантайма (например, моста devtools, которому нужен прямой доступ к record / subscribe).
Реализация не аллоцирует на горячем пути: O(1) record, фиксированный массив слотов, индекс с обёртыванием. getBuffer() материализует массив (newest-first) по требованию.
Сигнатура
Заголовок раздела «Сигнатура»Параметры
Заголовок раздела «Параметры»| Параметр | Тип | Описание |
|---|---|---|
bufferSize | number | Сколько снепшотов хранить. Зажимается минимум до 1. |
Возвращает
Заголовок раздела «Возвращает»Объект InspectorImpl:
| Метод | Сигнатура | Описание |
|---|---|---|
record(snapshot) | (s: TriggerInspectSnapshot) => void | Запушить снепшот. Обёртывается по буферу. Уведомляет подписчиков. |
getBuffer() | () => readonly TriggerInspectSnapshot[] | Массив (newest-first) последних N записей. |
getLastForTrigger(id) | (triggerId: string) => Snapshot | undefined | Самый свежий снепшот по id триггера. |
subscribe(fn) | (fn) => () => void | Слушатель, вызываемый на каждый record. Возвращает unsubscribe. |
clear() | () => void | Очистить буфер и карту по триггерам. |
Примеры
Заголовок раздела «Примеры»Сборка кастомного моста devtools
Заголовок раздела «Сборка кастомного моста devtools»Подключение к latest-per-trigger
Заголовок раздела «Подключение к latest-per-trigger»Подписка и отписка
Заголовок раздела «Подписка и отписка»Замечания
Заголовок раздела «Замечания»См. также
Заголовок раздела «См. также» createRuntime Передай `inspectorBufferSize`, чтобы настроить стандартный инспектор.
useInspectHistory React-хук поверх буфера инспектора.
TriggerInspectSnapshot Форма снепшота.
Руководство по инспектору Что отслеживает инспектор и как это рендерить.