PromucFlow_constructor/app/client/src/workers/Evaluation/domApis.ts

105 lines
2.3 KiB
TypeScript
Raw Normal View History

// This is a hard-coded list of DOM APIs that linkedom provides. Were 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 threads 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;