Skip to content

pantoken / renderers/web-components/src / buildRegisterContext

Функция: buildRegisterContext()

buildRegisterContext(options, target, resolveIconSvg): RegisterContext

Альфа

Построить общий RegisterContext — потоки вызовов в стиле register() к define каждого элемента. Резолвер иконок внедряемый: register() всегда передаёт реальный, поддерживаемый @pantoken/icons iconSvg (стандартное поведение для всех существующих вызывающих), тогда как сборка CDN для каждого элемента передаёт noopIconSvg для элементов, которые никогда его не вызывают — @pantoken/icons/@pantoken/tokens является мегабайтной зависимостью, и поскольку Rollup не может выполнять код-сплиттинг для вывода iife/umd, всё, что статически достижимо из точки входа бандла, попадает в весь бандл, независимо от того, вызывает ли конкретный путь кода этого элемента его на практике. Именно поэтому этот модуль не имеет побочных эффектов на верхнем уровне — его импорт (в отличие от импорта ../index.ts, который авто-регистрирует всё при импорте) никогда не достигает iconSvg, если вызывающий не передаёт его явно.

Параметры

options

RegisterContextOptions

Та же структура, что и опции register(), за вычетом only.

target

ElementRegistry

Реестр, в который определяется запись.

resolveIconSvg

(name) => string

Резолвер, подключённый к ctx.iconSvg — передавайте iconSvg для реальных иконок или noopIconSvg, когда набор элементов вызывающего гарантированно никогда не рендерит иконку (см. ICON_ELEMENTS в ./elements-meta.ts).

Возвращаемое значение

RegisterContext