Skip to content

pantoken / renderers/web-components/src / buildRegisterContext

Funktion: buildRegisterContext()

buildRegisterContext(options, target, resolveIconSvg): RegisterContext

Alpha

Erstellt den gemeinsamen RegisterContext als register()-artigen Aufruf-Thread zu jedem Element-define. Der Icon-Resolver ist injizierbar: register() übergibt immer das echte, von @pantoken/icons gestützte iconSvg (unverändertes Standardverhalten für alle bestehenden Aufrufer), während der CDN-Build pro Element noopIconSvg für Elemente übergibt, die es niemals aufrufen — @pantoken/icons/@pantoken/tokens ist eine mehrere MB große Abhängigkeit, und da Rollup die iife/umd-Ausgabe nicht code-splittet, landet alles, was statisch vom Entry eines Bundles erreichbar ist, im gesamten Bundle, unabhängig davon, ob der Codepfad dieses speziellen Elements es jemals aufruft. Dieses Modul hat genau aus diesem Grund keine Top-Level-Nebenwirkungen — das Importieren (im Gegensatz zum Import von ../index.ts, das beim Import alles auto-registriert) erreicht iconSvg niemals, es sei denn, der Aufrufer übergibt es.

Parameter

options

RegisterContextOptions

Gleiches Format wie die Optionen von register(), ohne only.

target

ElementRegistry

Das Registry, in das definiert werden soll.

resolveIconSvg

(name) => string

Der in ctx.iconSvg integrierte Resolver — übergebe iconSvg für echte Icons oder noopIconSvg, wenn das Element-Set des Aufrufers nachweislich niemals eines rendert (siehe ICON_ELEMENTS in ./elements-meta.ts).

Rückgabe

RegisterContext