108 lines
2.3 KiB
TypeScript
108 lines
2.3 KiB
TypeScript
// This is a hard-coded list of DOM APIs that linkedom provides. We’re hardcoding it instead of deriving it
|
||
// from documentMock because domApiNames are used in the main thread, and deriving them from linkedom
|
||
// will keep linkedom in the main thread’s bundle.
|
||
const DOM_API_NAMES = [
|
||
"Attr",
|
||
"CharacterData",
|
||
"Comment",
|
||
"CustomEvent",
|
||
"DOMParser",
|
||
"Document",
|
||
"DocumentFragment",
|
||
"DocumentType",
|
||
"Element",
|
||
"Event",
|
||
"EventTarget",
|
||
"Facades",
|
||
"HTMLAnchorElement",
|
||
"HTMLAreaElement",
|
||
"HTMLAudioElement",
|
||
"HTMLBRElement",
|
||
"HTMLBaseElement",
|
||
"HTMLBodyElement",
|
||
"HTMLButtonElement",
|
||
"HTMLCanvasElement",
|
||
"HTMLClasses",
|
||
"HTMLDListElement",
|
||
"HTMLDataElement",
|
||
"HTMLDataListElement",
|
||
"HTMLDetailsElement",
|
||
"HTMLDirectoryElement",
|
||
"HTMLDivElement",
|
||
"HTMLElement",
|
||
"HTMLEmbedElement",
|
||
"HTMLFieldSetElement",
|
||
"HTMLFontElement",
|
||
"HTMLFormElement",
|
||
"HTMLFrameElement",
|
||
"HTMLFrameSetElement",
|
||
"HTMLHRElement",
|
||
"HTMLHeadElement",
|
||
"HTMLHeadingElement",
|
||
"HTMLHtmlElement",
|
||
"HTMLIFrameElement",
|
||
"HTMLImageElement",
|
||
"HTMLInputElement",
|
||
"HTMLLIElement",
|
||
"HTMLLabelElement",
|
||
"HTMLLegendElement",
|
||
"HTMLLinkElement",
|
||
"HTMLMapElement",
|
||
"HTMLMarqueeElement",
|
||
"HTMLMediaElement",
|
||
"HTMLMenuElement",
|
||
"HTMLMetaElement",
|
||
"HTMLMeterElement",
|
||
"HTMLModElement",
|
||
"HTMLOListElement",
|
||
"HTMLObjectElement",
|
||
"HTMLOptGroupElement",
|
||
"HTMLOptionElement",
|
||
"HTMLOutputElement",
|
||
"HTMLParagraphElement",
|
||
"HTMLParamElement",
|
||
"HTMLPictureElement",
|
||
"HTMLPreElement",
|
||
"HTMLProgressElement",
|
||
"HTMLQuoteElement",
|
||
"HTMLScriptElement",
|
||
"HTMLSelectElement",
|
||
"HTMLSlotElement",
|
||
"HTMLSourceElement",
|
||
"HTMLSpanElement",
|
||
"HTMLStyleElement",
|
||
"HTMLTableCaptionElement",
|
||
"HTMLTableCellElement",
|
||
"HTMLTableElement",
|
||
"HTMLTableRowElement",
|
||
"HTMLTemplateElement",
|
||
"HTMLTextAreaElement",
|
||
"HTMLTimeElement",
|
||
"HTMLTitleElement",
|
||
"HTMLTrackElement",
|
||
"HTMLUListElement",
|
||
"HTMLUnknownElement",
|
||
"HTMLVideoElement",
|
||
"InputEvent",
|
||
"Node",
|
||
"NodeFilter",
|
||
"NodeList",
|
||
"SVGElement",
|
||
"ShadowRoot",
|
||
"Text",
|
||
"illegalConstructor",
|
||
"parseHTML",
|
||
"parseJSON",
|
||
"toJSON",
|
||
] as const;
|
||
|
||
const DOM_APIS = DOM_API_NAMES.reduce(
|
||
(acc, key) => {
|
||
acc[key] = true;
|
||
return acc;
|
||
},
|
||
{} as Record<string, true | undefined>,
|
||
);
|
||
|
||
export default DOM_APIS;
|