Files
bun.sh/src/defines-table.zig
2022-03-08 18:54:54 -08:00

808 lines
27 KiB
Zig

const bun = @import("global.zig");
const string = bun.string;
const Output = bun.Output;
const Global = bun.Global;
const Environment = bun.Environment;
const strings = bun.strings;
const MutableString = bun.MutableString;
const stringZ = bun.stringZ;
const default_allocator = bun.default_allocator;
const C = bun.C;
// If something is in this list, then a direct identifier expression or property
// access chain matching this will be assumed to have no side effects and will
// be removed.
//
// This also means code is allowed to be reordered past things in this list. For
// example, if "console.log" is in this list, permitting reordering allows for
// "if (a) console.log(b); else console.log(c)" to be reordered and transformed
// into "console.log(a ? b : c)". Notice that "a" and "console.log" are in a
// different order, which can only happen if evaluating the "console.log"
// property access can be assumed to not change the value of "a".
//
// Note that membership in this list says nothing about whether calling any of
// these functions has any side effects. It only says something about
// referencing these function without calling them.
pub const GlobalDefinesKey = [_][]const string{
// These global identifiers should exist in all JavaScript environments. This
// deliberately omits "NaN", "Infinity", and "undefined" because these are
// treated as automatically-inlined constants instead of identifiers.
&[_]string{"Array"},
&[_]string{"Boolean"},
&[_]string{"Function"},
&[_]string{"Math"},
&[_]string{"Number"},
&[_]string{"Object"},
&[_]string{"RegExp"},
&[_]string{"String"},
// Object: Static methods
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object#Static_methods
&[_]string{ "Object", "assign" },
&[_]string{ "Object", "create" },
&[_]string{ "Object", "defineProperties" },
&[_]string{ "Object", "defineProperty" },
&[_]string{ "Object", "entries" },
&[_]string{ "Object", "freeze" },
&[_]string{ "Object", "fromEntries" },
&[_]string{ "Object", "getOwnPropertyDescriptor" },
&[_]string{ "Object", "getOwnPropertyDescriptors" },
&[_]string{ "Object", "getOwnPropertyNames" },
&[_]string{ "Object", "getOwnPropertySymbols" },
&[_]string{ "Object", "getPrototypeOf" },
&[_]string{ "Object", "is" },
&[_]string{ "Object", "isExtensible" },
&[_]string{ "Object", "isFrozen" },
&[_]string{ "Object", "isSealed" },
&[_]string{ "Object", "keys" },
&[_]string{ "Object", "preventExtensions" },
&[_]string{ "Object", "seal" },
&[_]string{ "Object", "setPrototypeOf" },
&[_]string{ "Object", "values" },
// Object: Instance methods
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object#Instance_methods
&[_]string{ "Object", "prototype", "__defineGetter__" },
&[_]string{ "Object", "prototype", "__defineSetter__" },
&[_]string{ "Object", "prototype", "__lookupGetter__" },
&[_]string{ "Object", "prototype", "__lookupSetter__" },
&[_]string{ "Object", "prototype", "hasOwnProperty" },
&[_]string{ "Object", "prototype", "isPrototypeOf" },
&[_]string{ "Object", "prototype", "propertyIsEnumerable" },
&[_]string{ "Object", "prototype", "toLocaleString" },
&[_]string{ "Object", "prototype", "toString" },
&[_]string{ "Object", "prototype", "unwatch" },
&[_]string{ "Object", "prototype", "valueOf" },
&[_]string{ "Object", "prototype", "watch" },
// Math: Static properties
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math#Static_properties
&[_]string{ "Math", "E" },
&[_]string{ "Math", "LN10" },
&[_]string{ "Math", "LN2" },
&[_]string{ "Math", "LOG10E" },
&[_]string{ "Math", "LOG2E" },
&[_]string{ "Math", "PI" },
&[_]string{ "Math", "SQRT1_2" },
&[_]string{ "Math", "SQRT2" },
// Math: Static methods
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math#Static_methods
&[_]string{ "Math", "abs" },
&[_]string{ "Math", "acos" },
&[_]string{ "Math", "acosh" },
&[_]string{ "Math", "asin" },
&[_]string{ "Math", "asinh" },
&[_]string{ "Math", "atan" },
&[_]string{ "Math", "atan2" },
&[_]string{ "Math", "atanh" },
&[_]string{ "Math", "cbrt" },
&[_]string{ "Math", "ceil" },
&[_]string{ "Math", "clz32" },
&[_]string{ "Math", "cos" },
&[_]string{ "Math", "cosh" },
&[_]string{ "Math", "exp" },
&[_]string{ "Math", "expm1" },
&[_]string{ "Math", "floor" },
&[_]string{ "Math", "fround" },
&[_]string{ "Math", "hypot" },
&[_]string{ "Math", "imul" },
&[_]string{ "Math", "log" },
&[_]string{ "Math", "log10" },
&[_]string{ "Math", "log1p" },
&[_]string{ "Math", "log2" },
&[_]string{ "Math", "max" },
&[_]string{ "Math", "min" },
&[_]string{ "Math", "pow" },
&[_]string{ "Math", "random" },
&[_]string{ "Math", "round" },
&[_]string{ "Math", "sign" },
&[_]string{ "Math", "sin" },
&[_]string{ "Math", "sinh" },
&[_]string{ "Math", "sqrt" },
&[_]string{ "Math", "tan" },
&[_]string{ "Math", "tanh" },
&[_]string{ "Math", "trunc" },
// Other globals present in both the browser and node (except "eval" because
// it has special behavior)
&[_]string{"AbortController"},
&[_]string{"AbortSignal"},
&[_]string{"AggregateError"},
&[_]string{"ArrayBuffer"},
&[_]string{"BigInt"},
&[_]string{"DataView"},
&[_]string{"Date"},
&[_]string{"Error"},
&[_]string{"EvalError"},
&[_]string{"Event"},
&[_]string{"EventTarget"},
&[_]string{"Float32Array"},
&[_]string{"Float64Array"},
&[_]string{"Int16Array"},
&[_]string{"Int32Array"},
&[_]string{"Int8Array"},
&[_]string{"Intl"},
&[_]string{"JSON"},
&[_]string{"Map"},
&[_]string{"MessageChannel"},
&[_]string{"MessageEvent"},
&[_]string{"MessagePort"},
&[_]string{"Promise"},
&[_]string{"Proxy"},
&[_]string{"RangeError"},
&[_]string{"ReferenceError"},
&[_]string{"Reflect"},
&[_]string{"Set"},
&[_]string{"Symbol"},
&[_]string{"SyntaxError"},
&[_]string{"TextDecoder"},
&[_]string{"TextEncoder"},
&[_]string{"TypeError"},
&[_]string{"URIError"},
&[_]string{"URL"},
&[_]string{"URLSearchParams"},
&[_]string{"Uint16Array"},
&[_]string{"Uint32Array"},
&[_]string{"Uint8Array"},
&[_]string{"Uint8ClampedArray"},
&[_]string{"WeakMap"},
&[_]string{"WeakSet"},
&[_]string{"WebAssembly"},
&[_]string{"clearInterval"},
&[_]string{"clearTimeout"},
&[_]string{"console"},
&[_]string{"decodeURI"},
&[_]string{"decodeURIComponent"},
&[_]string{"encodeURI"},
&[_]string{"encodeURIComponent"},
&[_]string{"escape"},
&[_]string{"globalThis"},
&[_]string{"isFinite"},
&[_]string{"isNaN"},
&[_]string{"parseFloat"},
&[_]string{"parseInt"},
&[_]string{"queueMicrotask"},
&[_]string{"setInterval"},
&[_]string{"setTimeout"},
&[_]string{"unescape"},
// Console method references are assumed to have no side effects
// https://developer.mozilla.org/en-US/docs/Web/API/console
&[_]string{ "console", "assert" },
&[_]string{ "console", "clear" },
&[_]string{ "console", "count" },
&[_]string{ "console", "countReset" },
&[_]string{ "console", "debug" },
&[_]string{ "console", "dir" },
&[_]string{ "console", "dirxml" },
&[_]string{ "console", "error" },
&[_]string{ "console", "group" },
&[_]string{ "console", "groupCollapsed" },
&[_]string{ "console", "groupEnd" },
&[_]string{ "console", "info" },
&[_]string{ "console", "log" },
&[_]string{ "console", "table" },
&[_]string{ "console", "time" },
&[_]string{ "console", "timeEnd" },
&[_]string{ "console", "timeLog" },
&[_]string{ "console", "trace" },
&[_]string{ "console", "warn" },
// CSSOM APIs
&[_]string{"CSSAnimation"},
&[_]string{"CSSFontFaceRule"},
&[_]string{"CSSImportRule"},
&[_]string{"CSSKeyframeRule"},
&[_]string{"CSSKeyframesRule"},
&[_]string{"CSSMediaRule"},
&[_]string{"CSSNamespaceRule"},
&[_]string{"CSSPageRule"},
&[_]string{"CSSRule"},
&[_]string{"CSSRuleList"},
&[_]string{"CSSStyleDeclaration"},
&[_]string{"CSSStyleRule"},
&[_]string{"CSSStyleSheet"},
&[_]string{"CSSSupportsRule"},
&[_]string{"CSSTransition"},
// SVG DOM
&[_]string{"SVGAElement"},
&[_]string{"SVGAngle"},
&[_]string{"SVGAnimateElement"},
&[_]string{"SVGAnimateMotionElement"},
&[_]string{"SVGAnimateTransformElement"},
&[_]string{"SVGAnimatedAngle"},
&[_]string{"SVGAnimatedBoolean"},
&[_]string{"SVGAnimatedEnumeration"},
&[_]string{"SVGAnimatedInteger"},
&[_]string{"SVGAnimatedLength"},
&[_]string{"SVGAnimatedLengthList"},
&[_]string{"SVGAnimatedNumber"},
&[_]string{"SVGAnimatedNumberList"},
&[_]string{"SVGAnimatedPreserveAspectRatio"},
&[_]string{"SVGAnimatedRect"},
&[_]string{"SVGAnimatedString"},
&[_]string{"SVGAnimatedTransformList"},
&[_]string{"SVGAnimationElement"},
&[_]string{"SVGCircleElement"},
&[_]string{"SVGClipPathElement"},
&[_]string{"SVGComponentTransferFunctionElement"},
&[_]string{"SVGDefsElement"},
&[_]string{"SVGDescElement"},
&[_]string{"SVGElement"},
&[_]string{"SVGEllipseElement"},
&[_]string{"SVGFEBlendElement"},
&[_]string{"SVGFEColorMatrixElement"},
&[_]string{"SVGFEComponentTransferElement"},
&[_]string{"SVGFECompositeElement"},
&[_]string{"SVGFEConvolveMatrixElement"},
&[_]string{"SVGFEDiffuseLightingElement"},
&[_]string{"SVGFEDisplacementMapElement"},
&[_]string{"SVGFEDistantLightElement"},
&[_]string{"SVGFEDropShadowElement"},
&[_]string{"SVGFEFloodElement"},
&[_]string{"SVGFEFuncAElement"},
&[_]string{"SVGFEFuncBElement"},
&[_]string{"SVGFEFuncGElement"},
&[_]string{"SVGFEFuncRElement"},
&[_]string{"SVGFEGaussianBlurElement"},
&[_]string{"SVGFEImageElement"},
&[_]string{"SVGFEMergeElement"},
&[_]string{"SVGFEMergeNodeElement"},
&[_]string{"SVGFEMorphologyElement"},
&[_]string{"SVGFEOffsetElement"},
&[_]string{"SVGFEPointLightElement"},
&[_]string{"SVGFESpecularLightingElement"},
&[_]string{"SVGFESpotLightElement"},
&[_]string{"SVGFETileElement"},
&[_]string{"SVGFETurbulenceElement"},
&[_]string{"SVGFilterElement"},
&[_]string{"SVGForeignObjectElement"},
&[_]string{"SVGGElement"},
&[_]string{"SVGGeometryElement"},
&[_]string{"SVGGradientElement"},
&[_]string{"SVGGraphicsElement"},
&[_]string{"SVGImageElement"},
&[_]string{"SVGLength"},
&[_]string{"SVGLengthList"},
&[_]string{"SVGLineElement"},
&[_]string{"SVGLinearGradientElement"},
&[_]string{"SVGMPathElement"},
&[_]string{"SVGMarkerElement"},
&[_]string{"SVGMaskElement"},
&[_]string{"SVGMatrix"},
&[_]string{"SVGMetadataElement"},
&[_]string{"SVGNumber"},
&[_]string{"SVGNumberList"},
&[_]string{"SVGPathElement"},
&[_]string{"SVGPatternElement"},
&[_]string{"SVGPoint"},
&[_]string{"SVGPointList"},
&[_]string{"SVGPolygonElement"},
&[_]string{"SVGPolylineElement"},
&[_]string{"SVGPreserveAspectRatio"},
&[_]string{"SVGRadialGradientElement"},
&[_]string{"SVGRect"},
&[_]string{"SVGRectElement"},
&[_]string{"SVGSVGElement"},
&[_]string{"SVGScriptElement"},
&[_]string{"SVGSetElement"},
&[_]string{"SVGStopElement"},
&[_]string{"SVGStringList"},
&[_]string{"SVGStyleElement"},
&[_]string{"SVGSwitchElement"},
&[_]string{"SVGSymbolElement"},
&[_]string{"SVGTSpanElement"},
&[_]string{"SVGTextContentElement"},
&[_]string{"SVGTextElement"},
&[_]string{"SVGTextPathElement"},
&[_]string{"SVGTextPositioningElement"},
&[_]string{"SVGTitleElement"},
&[_]string{"SVGTransform"},
&[_]string{"SVGTransformList"},
&[_]string{"SVGUnitTypes"},
&[_]string{"SVGUseElement"},
&[_]string{"SVGViewElement"},
// Other browser APIs
//
// This list contains all globals present in modern versions of Chrome, Safari,
// and Firefox except for the following properties, since they have a side effect
// of triggering layout (https://gist.github.com/paulirish/5d52fb081b3570c81e3a):
//
// - scrollX
// - scrollY
// - innerWidth
// - innerHeight
// - pageXOffset
// - pageYOffset
//
// The following globals have also been removed since they sometimes throw an
// exception when accessed, which is a side effect (for more information see
// https://stackoverflow.com/a/33047477):
//
// - localStorage
// - sessionStorage
//
&[_]string{"AnalyserNode"},
&[_]string{"Animation"},
&[_]string{"AnimationEffect"},
&[_]string{"AnimationEvent"},
&[_]string{"AnimationPlaybackEvent"},
&[_]string{"AnimationTimeline"},
&[_]string{"Attr"},
&[_]string{"Audio"},
&[_]string{"AudioBuffer"},
&[_]string{"AudioBufferSourceNode"},
&[_]string{"AudioDestinationNode"},
&[_]string{"AudioListener"},
&[_]string{"AudioNode"},
&[_]string{"AudioParam"},
&[_]string{"AudioProcessingEvent"},
&[_]string{"AudioScheduledSourceNode"},
&[_]string{"BarProp"},
&[_]string{"BeforeUnloadEvent"},
&[_]string{"BiquadFilterNode"},
&[_]string{"Blob"},
&[_]string{"BlobEvent"},
&[_]string{"ByteLengthQueuingStrategy"},
&[_]string{"CDATASection"},
&[_]string{"CSS"},
&[_]string{"CanvasGradient"},
&[_]string{"CanvasPattern"},
&[_]string{"CanvasRenderingContext2D"},
&[_]string{"ChannelMergerNode"},
&[_]string{"ChannelSplitterNode"},
&[_]string{"CharacterData"},
&[_]string{"ClipboardEvent"},
&[_]string{"CloseEvent"},
&[_]string{"Comment"},
&[_]string{"CompositionEvent"},
&[_]string{"ConvolverNode"},
&[_]string{"CountQueuingStrategy"},
&[_]string{"Crypto"},
&[_]string{"CustomElementRegistry"},
&[_]string{"CustomEvent"},
&[_]string{"DOMException"},
&[_]string{"DOMImplementation"},
&[_]string{"DOMMatrix"},
&[_]string{"DOMMatrixReadOnly"},
&[_]string{"DOMParser"},
&[_]string{"DOMPoint"},
&[_]string{"DOMPointReadOnly"},
&[_]string{"DOMQuad"},
&[_]string{"DOMRect"},
&[_]string{"DOMRectList"},
&[_]string{"DOMRectReadOnly"},
&[_]string{"DOMStringList"},
&[_]string{"DOMStringMap"},
&[_]string{"DOMTokenList"},
&[_]string{"DataTransfer"},
&[_]string{"DataTransferItem"},
&[_]string{"DataTransferItemList"},
&[_]string{"DelayNode"},
&[_]string{"Document"},
&[_]string{"DocumentFragment"},
&[_]string{"DocumentTimeline"},
&[_]string{"DocumentType"},
&[_]string{"DragEvent"},
&[_]string{"DynamicsCompressorNode"},
&[_]string{"Element"},
&[_]string{"ErrorEvent"},
&[_]string{"EventSource"},
&[_]string{"File"},
&[_]string{"FileList"},
&[_]string{"FileReader"},
&[_]string{"FocusEvent"},
&[_]string{"FontFace"},
&[_]string{"FormData"},
&[_]string{"GainNode"},
&[_]string{"Gamepad"},
&[_]string{"GamepadButton"},
&[_]string{"GamepadEvent"},
&[_]string{"Geolocation"},
&[_]string{"GeolocationPositionError"},
&[_]string{"HTMLAllCollection"},
&[_]string{"HTMLAnchorElement"},
&[_]string{"HTMLAreaElement"},
&[_]string{"HTMLAudioElement"},
&[_]string{"HTMLBRElement"},
&[_]string{"HTMLBaseElement"},
&[_]string{"HTMLBodyElement"},
&[_]string{"HTMLButtonElement"},
&[_]string{"HTMLCanvasElement"},
&[_]string{"HTMLCollection"},
&[_]string{"HTMLDListElement"},
&[_]string{"HTMLDataElement"},
&[_]string{"HTMLDataListElement"},
&[_]string{"HTMLDetailsElement"},
&[_]string{"HTMLDirectoryElement"},
&[_]string{"HTMLDivElement"},
&[_]string{"HTMLDocument"},
&[_]string{"HTMLElement"},
&[_]string{"HTMLEmbedElement"},
&[_]string{"HTMLFieldSetElement"},
&[_]string{"HTMLFontElement"},
&[_]string{"HTMLFormControlsCollection"},
&[_]string{"HTMLFormElement"},
&[_]string{"HTMLFrameElement"},
&[_]string{"HTMLFrameSetElement"},
&[_]string{"HTMLHRElement"},
&[_]string{"HTMLHeadElement"},
&[_]string{"HTMLHeadingElement"},
&[_]string{"HTMLHtmlElement"},
&[_]string{"HTMLIFrameElement"},
&[_]string{"HTMLImageElement"},
&[_]string{"HTMLInputElement"},
&[_]string{"HTMLLIElement"},
&[_]string{"HTMLLabelElement"},
&[_]string{"HTMLLegendElement"},
&[_]string{"HTMLLinkElement"},
&[_]string{"HTMLMapElement"},
&[_]string{"HTMLMarqueeElement"},
&[_]string{"HTMLMediaElement"},
&[_]string{"HTMLMenuElement"},
&[_]string{"HTMLMetaElement"},
&[_]string{"HTMLMeterElement"},
&[_]string{"HTMLModElement"},
&[_]string{"HTMLOListElement"},
&[_]string{"HTMLObjectElement"},
&[_]string{"HTMLOptGroupElement"},
&[_]string{"HTMLOptionElement"},
&[_]string{"HTMLOptionsCollection"},
&[_]string{"HTMLOutputElement"},
&[_]string{"HTMLParagraphElement"},
&[_]string{"HTMLParamElement"},
&[_]string{"HTMLPictureElement"},
&[_]string{"HTMLPreElement"},
&[_]string{"HTMLProgressElement"},
&[_]string{"HTMLQuoteElement"},
&[_]string{"HTMLScriptElement"},
&[_]string{"HTMLSelectElement"},
&[_]string{"HTMLSlotElement"},
&[_]string{"HTMLSourceElement"},
&[_]string{"HTMLSpanElement"},
&[_]string{"HTMLStyleElement"},
&[_]string{"HTMLTableCaptionElement"},
&[_]string{"HTMLTableCellElement"},
&[_]string{"HTMLTableColElement"},
&[_]string{"HTMLTableElement"},
&[_]string{"HTMLTableRowElement"},
&[_]string{"HTMLTableSectionElement"},
&[_]string{"HTMLTemplateElement"},
&[_]string{"HTMLTextAreaElement"},
&[_]string{"HTMLTimeElement"},
&[_]string{"HTMLTitleElement"},
&[_]string{"HTMLTrackElement"},
&[_]string{"HTMLUListElement"},
&[_]string{"HTMLUnknownElement"},
&[_]string{"HTMLVideoElement"},
&[_]string{"HashChangeEvent"},
&[_]string{"Headers"},
&[_]string{"History"},
&[_]string{"IDBCursor"},
&[_]string{"IDBCursorWithValue"},
&[_]string{"IDBDatabase"},
&[_]string{"IDBFactory"},
&[_]string{"IDBIndex"},
&[_]string{"IDBKeyRange"},
&[_]string{"IDBObjectStore"},
&[_]string{"IDBOpenDBRequest"},
&[_]string{"IDBRequest"},
&[_]string{"IDBTransaction"},
&[_]string{"IDBVersionChangeEvent"},
&[_]string{"Image"},
&[_]string{"ImageData"},
&[_]string{"InputEvent"},
&[_]string{"IntersectionObserver"},
&[_]string{"IntersectionObserverEntry"},
&[_]string{"KeyboardEvent"},
&[_]string{"KeyframeEffect"},
&[_]string{"Location"},
&[_]string{"MediaCapabilities"},
&[_]string{"MediaElementAudioSourceNode"},
&[_]string{"MediaEncryptedEvent"},
&[_]string{"MediaError"},
&[_]string{"MediaList"},
&[_]string{"MediaQueryList"},
&[_]string{"MediaQueryListEvent"},
&[_]string{"MediaRecorder"},
&[_]string{"MediaSource"},
&[_]string{"MediaStream"},
&[_]string{"MediaStreamAudioDestinationNode"},
&[_]string{"MediaStreamAudioSourceNode"},
&[_]string{"MediaStreamTrack"},
&[_]string{"MediaStreamTrackEvent"},
&[_]string{"MimeType"},
&[_]string{"MimeTypeArray"},
&[_]string{"MouseEvent"},
&[_]string{"MutationEvent"},
&[_]string{"MutationObserver"},
&[_]string{"MutationRecord"},
&[_]string{"NamedNodeMap"},
&[_]string{"Navigator"},
&[_]string{"Node"},
&[_]string{"NodeFilter"},
&[_]string{"NodeIterator"},
&[_]string{"NodeList"},
&[_]string{"Notification"},
&[_]string{"OfflineAudioCompletionEvent"},
&[_]string{"Option"},
&[_]string{"OscillatorNode"},
&[_]string{"PageTransitionEvent"},
&[_]string{"Path2D"},
&[_]string{"Performance"},
&[_]string{"PerformanceEntry"},
&[_]string{"PerformanceMark"},
&[_]string{"PerformanceMeasure"},
&[_]string{"PerformanceNavigation"},
&[_]string{"PerformanceObserver"},
&[_]string{"PerformanceObserverEntryList"},
&[_]string{"PerformanceResourceTiming"},
&[_]string{"PerformanceTiming"},
&[_]string{"PeriodicWave"},
&[_]string{"Plugin"},
&[_]string{"PluginArray"},
&[_]string{"PointerEvent"},
&[_]string{"PopStateEvent"},
&[_]string{"ProcessingInstruction"},
&[_]string{"ProgressEvent"},
&[_]string{"PromiseRejectionEvent"},
&[_]string{"RTCCertificate"},
&[_]string{"RTCDTMFSender"},
&[_]string{"RTCDTMFToneChangeEvent"},
&[_]string{"RTCDataChannel"},
&[_]string{"RTCDataChannelEvent"},
&[_]string{"RTCIceCandidate"},
&[_]string{"RTCPeerConnection"},
&[_]string{"RTCPeerConnectionIceEvent"},
&[_]string{"RTCRtpReceiver"},
&[_]string{"RTCRtpSender"},
&[_]string{"RTCRtpTransceiver"},
&[_]string{"RTCSessionDescription"},
&[_]string{"RTCStatsReport"},
&[_]string{"RTCTrackEvent"},
&[_]string{"RadioNodeList"},
&[_]string{"Range"},
&[_]string{"ReadableStream"},
&[_]string{"Request"},
&[_]string{"ResizeObserver"},
&[_]string{"ResizeObserverEntry"},
&[_]string{"Response"},
&[_]string{"Screen"},
&[_]string{"ScriptProcessorNode"},
&[_]string{"SecurityPolicyViolationEvent"},
&[_]string{"Selection"},
&[_]string{"ShadowRoot"},
&[_]string{"SourceBuffer"},
&[_]string{"SourceBufferList"},
&[_]string{"SpeechSynthesisEvent"},
&[_]string{"SpeechSynthesisUtterance"},
&[_]string{"StaticRange"},
&[_]string{"Storage"},
&[_]string{"StorageEvent"},
&[_]string{"StyleSheet"},
&[_]string{"StyleSheetList"},
&[_]string{"Text"},
&[_]string{"TextMetrics"},
&[_]string{"TextTrack"},
&[_]string{"TextTrackCue"},
&[_]string{"TextTrackCueList"},
&[_]string{"TextTrackList"},
&[_]string{"TimeRanges"},
&[_]string{"TrackEvent"},
&[_]string{"TransitionEvent"},
&[_]string{"TreeWalker"},
&[_]string{"UIEvent"},
&[_]string{"VTTCue"},
&[_]string{"ValidityState"},
&[_]string{"VisualViewport"},
&[_]string{"WaveShaperNode"},
&[_]string{"WebGLActiveInfo"},
&[_]string{"WebGLBuffer"},
&[_]string{"WebGLContextEvent"},
&[_]string{"WebGLFramebuffer"},
&[_]string{"WebGLProgram"},
&[_]string{"WebGLQuery"},
&[_]string{"WebGLRenderbuffer"},
&[_]string{"WebGLRenderingContext"},
&[_]string{"WebGLSampler"},
&[_]string{"WebGLShader"},
&[_]string{"WebGLShaderPrecisionFormat"},
&[_]string{"WebGLSync"},
&[_]string{"WebGLTexture"},
&[_]string{"WebGLUniformLocation"},
&[_]string{"WebKitCSSMatrix"},
&[_]string{"WebSocket"},
&[_]string{"WheelEvent"},
&[_]string{"Window"},
&[_]string{"Worker"},
&[_]string{"XMLDocument"},
&[_]string{"XMLHttpRequest"},
&[_]string{"XMLHttpRequestEventTarget"},
&[_]string{"XMLHttpRequestUpload"},
&[_]string{"XMLSerializer"},
&[_]string{"XPathEvaluator"},
&[_]string{"XPathExpression"},
&[_]string{"XPathResult"},
&[_]string{"XSLTProcessor"},
&[_]string{"alert"},
&[_]string{"atob"},
&[_]string{"blur"},
&[_]string{"btoa"},
&[_]string{"cancelAnimationFrame"},
&[_]string{"captureEvents"},
&[_]string{"close"},
&[_]string{"closed"},
&[_]string{"confirm"},
&[_]string{"customElements"},
&[_]string{"devicePixelRatio"},
&[_]string{"document"},
&[_]string{"event"},
&[_]string{"fetch"},
&[_]string{"find"},
&[_]string{"focus"},
&[_]string{"frameElement"},
&[_]string{"frames"},
&[_]string{"getComputedStyle"},
&[_]string{"getSelection"},
&[_]string{"history"},
&[_]string{"indexedDB"},
&[_]string{"isSecureContext"},
&[_]string{"length"},
&[_]string{"location"},
&[_]string{"locationbar"},
&[_]string{"matchMedia"},
&[_]string{"menubar"},
&[_]string{"moveBy"},
&[_]string{"moveTo"},
&[_]string{"name"},
&[_]string{"navigator"},
&[_]string{"onabort"},
&[_]string{"onafterprint"},
&[_]string{"onanimationend"},
&[_]string{"onanimationiteration"},
&[_]string{"onanimationstart"},
&[_]string{"onbeforeprint"},
&[_]string{"onbeforeunload"},
&[_]string{"onblur"},
&[_]string{"oncanplay"},
&[_]string{"oncanplaythrough"},
&[_]string{"onchange"},
&[_]string{"onclick"},
&[_]string{"oncontextmenu"},
&[_]string{"oncuechange"},
&[_]string{"ondblclick"},
&[_]string{"ondrag"},
&[_]string{"ondragend"},
&[_]string{"ondragenter"},
&[_]string{"ondragleave"},
&[_]string{"ondragover"},
&[_]string{"ondragstart"},
&[_]string{"ondrop"},
&[_]string{"ondurationchange"},
&[_]string{"onemptied"},
&[_]string{"onended"},
&[_]string{"onerror"},
&[_]string{"onfocus"},
&[_]string{"ongotpointercapture"},
&[_]string{"onhashchange"},
&[_]string{"oninput"},
&[_]string{"oninvalid"},
&[_]string{"onkeydown"},
&[_]string{"onkeypress"},
&[_]string{"onkeyup"},
&[_]string{"onlanguagechange"},
&[_]string{"onload"},
&[_]string{"onloadeddata"},
&[_]string{"onloadedmetadata"},
&[_]string{"onloadstart"},
&[_]string{"onlostpointercapture"},
&[_]string{"onmessage"},
&[_]string{"onmousedown"},
&[_]string{"onmouseenter"},
&[_]string{"onmouseleave"},
&[_]string{"onmousemove"},
&[_]string{"onmouseout"},
&[_]string{"onmouseover"},
&[_]string{"onmouseup"},
&[_]string{"onoffline"},
&[_]string{"ononline"},
&[_]string{"onpagehide"},
&[_]string{"onpageshow"},
&[_]string{"onpause"},
&[_]string{"onplay"},
&[_]string{"onplaying"},
&[_]string{"onpointercancel"},
&[_]string{"onpointerdown"},
&[_]string{"onpointerenter"},
&[_]string{"onpointerleave"},
&[_]string{"onpointermove"},
&[_]string{"onpointerout"},
&[_]string{"onpointerover"},
&[_]string{"onpointerup"},
&[_]string{"onpopstate"},
&[_]string{"onprogress"},
&[_]string{"onratechange"},
&[_]string{"onrejectionhandled"},
&[_]string{"onreset"},
&[_]string{"onresize"},
&[_]string{"onscroll"},
&[_]string{"onseeked"},
&[_]string{"onseeking"},
&[_]string{"onselect"},
&[_]string{"onstalled"},
&[_]string{"onstorage"},
&[_]string{"onsubmit"},
&[_]string{"onsuspend"},
&[_]string{"ontimeupdate"},
&[_]string{"ontoggle"},
&[_]string{"ontransitioncancel"},
&[_]string{"ontransitionend"},
&[_]string{"ontransitionrun"},
&[_]string{"ontransitionstart"},
&[_]string{"onunhandledrejection"},
&[_]string{"onunload"},
&[_]string{"onvolumechange"},
&[_]string{"onwaiting"},
&[_]string{"onwebkitanimationend"},
&[_]string{"onwebkitanimationiteration"},
&[_]string{"onwebkitanimationstart"},
&[_]string{"onwebkittransitionend"},
&[_]string{"onwheel"},
&[_]string{"open"},
&[_]string{"opener"},
&[_]string{"origin"},
&[_]string{"outerHeight"},
&[_]string{"outerWidth"},
&[_]string{"parent"},
&[_]string{"performance"},
&[_]string{"personalbar"},
&[_]string{"postMessage"},
&[_]string{"print"},
&[_]string{"prompt"},
&[_]string{"releaseEvents"},
&[_]string{"requestAnimationFrame"},
&[_]string{"resizeBy"},
&[_]string{"resizeTo"},
&[_]string{"screen"},
&[_]string{"screenLeft"},
&[_]string{"screenTop"},
&[_]string{"screenX"},
&[_]string{"screenY"},
&[_]string{"scroll"},
&[_]string{"scrollBy"},
&[_]string{"scrollTo"},
&[_]string{"scrollbars"},
&[_]string{"self"},
&[_]string{"speechSynthesis"},
&[_]string{"status"},
&[_]string{"statusbar"},
&[_]string{"stop"},
&[_]string{"toolbar"},
&[_]string{"top"},
&[_]string{"webkitURL"},
&[_]string{"window"},
};