2023-05-11 05:26:03 +00:00
|
|
|
|
// 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;
|
|
|
|
|
|
|
2023-10-11 07:14:38 +00:00
|
|
|
|
const DOM_APIS = DOM_API_NAMES.reduce(
|
|
|
|
|
|
(acc, key) => {
|
|
|
|
|
|
acc[key] = true;
|
|
|
|
|
|
return acc;
|
|
|
|
|
|
},
|
|
|
|
|
|
{} as Record<string, true | undefined>,
|
|
|
|
|
|
);
|
2023-05-11 05:26:03 +00:00
|
|
|
|
|
|
|
|
|
|
export default DOM_APIS;
|