diff options
Diffstat (limited to 'src/defines-table.zig')
-rw-r--r-- | src/defines-table.zig | 1345 |
1 files changed, 700 insertions, 645 deletions
diff --git a/src/defines-table.zig b/src/defines-table.zig index 4c458006f..b4d7eed49 100644 --- a/src/defines-table.zig +++ b/src/defines-table.zig @@ -8,6 +8,8 @@ const MutableString = bun.MutableString; const stringZ = bun.stringZ; const default_allocator = bun.default_allocator; const C = bun.C; +const std = @import("std"); +const defines = @import("./defines.zig"); // 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 @@ -24,18 +26,6 @@ const C = bun.C; // 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" }, @@ -124,68 +114,24 @@ pub const GlobalDefinesKey = [_][]const string{ &[_]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"}, + &[_]string{ "Symbol", "for" }, + &[_]string{ "Symbol", "keyFor" }, + + // Reflect: Static methods + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect#static_methods + &[_]string{ "Reflect", "apply" }, + &[_]string{ "Reflect", "construct" }, + &[_]string{ "Reflect", "defineProperty" }, + &[_]string{ "Reflect", "deleteProperty" }, + &[_]string{ "Reflect", "get" }, + &[_]string{ "Reflect", "getOwnPropertyDescriptor" }, + &[_]string{ "Reflect", "getPrototypeOf" }, + &[_]string{ "Reflect", "has" }, + &[_]string{ "Reflect", "isExtensible" }, + &[_]string{ "Reflect", "ownKeys" }, + &[_]string{ "Reflect", "preventExtensions" }, + &[_]string{ "Reflect", "set" }, + &[_]string{ "Reflect", "setPrototypeOf" }, // Console method references are assumed to have no side effects // https://developer.mozilla.org/en-US/docs/Web/API/console @@ -208,122 +154,229 @@ pub const GlobalDefinesKey = [_][]const string{ &[_]string{ "console", "timeLog" }, &[_]string{ "console", "trace" }, &[_]string{ "console", "warn" }, +}; + +const pure_global_identifier_define = defines.IdentifierDefine{ + .valueless = true, + .can_be_removed_if_unused = true, + .value = .{ .e_undefined = .{} }, +}; +const js_ast = bun.JSAst; + +const identifiers = struct { + const nan_val = js_ast.E.Number{ .value = std.math.nan_f64 }; + + const inf_val = js_ast.E.Number{ .value = std.math.inf_f64 }; + + // Step 2. Swap in certain literal values because those can be constant folded + pub const @"undefined" = defines.IdentifierDefine{ + .value = js_ast.Expr.Data{ .e_undefined = .{} }, + .valueless = false, + .can_be_removed_if_unused = true, + }; + pub const NaN = defines.IdentifierDefine{ + .value = js_ast.Expr.Data{ .e_number = nan_val }, + }; + pub const Infinity = defines.IdentifierDefine{ + .value = js_ast.Expr.Data{ .e_number = inf_val }, + }; +}; + +pub const pure_global_identifiers = .{ + .{ "NaN", identifiers.NaN }, + .{ "Infinity", identifiers.Infinity }, + .{ "undefined", identifiers.undefined }, + + // 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. + .{ "Array", pure_global_identifier_define }, + .{ "Boolean", pure_global_identifier_define }, + .{ "Function", pure_global_identifier_define }, + .{ "Math", pure_global_identifier_define }, + .{ "Number", pure_global_identifier_define }, + .{ "Object", pure_global_identifier_define }, + .{ "RegExp", pure_global_identifier_define }, + .{ "String", pure_global_identifier_define }, + + // Other globals present in both the browser and node (except "eval" because + // it has special behavior) + .{ "AbortController", pure_global_identifier_define }, + .{ "AbortSignal", pure_global_identifier_define }, + .{ "AggregateError", pure_global_identifier_define }, + .{ "ArrayBuffer", pure_global_identifier_define }, + .{ "BigInt", pure_global_identifier_define }, + .{ "DataView", pure_global_identifier_define }, + .{ "Date", pure_global_identifier_define }, + .{ "Error", pure_global_identifier_define }, + .{ "EvalError", pure_global_identifier_define }, + .{ "Event", pure_global_identifier_define }, + .{ "EventTarget", pure_global_identifier_define }, + .{ "Float32Array", pure_global_identifier_define }, + .{ "Float64Array", pure_global_identifier_define }, + .{ "Int16Array", pure_global_identifier_define }, + .{ "Int32Array", pure_global_identifier_define }, + .{ "Int8Array", pure_global_identifier_define }, + .{ "Intl", pure_global_identifier_define }, + .{ "JSON", pure_global_identifier_define }, + .{ "Map", pure_global_identifier_define }, + .{ "MessageChannel", pure_global_identifier_define }, + .{ "MessageEvent", pure_global_identifier_define }, + .{ "MessagePort", pure_global_identifier_define }, + .{ "Promise", pure_global_identifier_define }, + .{ "Proxy", pure_global_identifier_define }, + .{ "RangeError", pure_global_identifier_define }, + .{ "ReferenceError", pure_global_identifier_define }, + .{ "Reflect", pure_global_identifier_define }, + .{ "Set", pure_global_identifier_define }, + .{ "Symbol", pure_global_identifier_define }, + .{ "SyntaxError", pure_global_identifier_define }, + .{ "TextDecoder", pure_global_identifier_define }, + .{ "TextEncoder", pure_global_identifier_define }, + .{ "TypeError", pure_global_identifier_define }, + .{ "URIError", pure_global_identifier_define }, + .{ "URL", pure_global_identifier_define }, + .{ "URLSearchParams", pure_global_identifier_define }, + .{ "Uint16Array", pure_global_identifier_define }, + .{ "Uint32Array", pure_global_identifier_define }, + .{ "Uint8Array", pure_global_identifier_define }, + .{ "Uint8ClampedArray", pure_global_identifier_define }, + .{ "WeakMap", pure_global_identifier_define }, + .{ "WeakSet", pure_global_identifier_define }, + .{ "WebAssembly", pure_global_identifier_define }, + .{ "clearInterval", pure_global_identifier_define }, + .{ "clearTimeout", pure_global_identifier_define }, + .{ "console", pure_global_identifier_define }, + .{ "decodeURI", pure_global_identifier_define }, + .{ "decodeURIComponent", pure_global_identifier_define }, + .{ "encodeURI", pure_global_identifier_define }, + .{ "encodeURIComponent", pure_global_identifier_define }, + .{ "escape", pure_global_identifier_define }, + .{ "globalThis", pure_global_identifier_define }, + .{ "isFinite", pure_global_identifier_define }, + .{ "isNaN", pure_global_identifier_define }, + .{ "parseFloat", pure_global_identifier_define }, + .{ "parseInt", pure_global_identifier_define }, + .{ "queueMicrotask", pure_global_identifier_define }, + .{ "setInterval", pure_global_identifier_define }, + .{ "setTimeout", pure_global_identifier_define }, + .{ "unescape", pure_global_identifier_define }, // 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"}, + .{ "CSSAnimation", pure_global_identifier_define }, + .{ "CSSFontFaceRule", pure_global_identifier_define }, + .{ "CSSImportRule", pure_global_identifier_define }, + .{ "CSSKeyframeRule", pure_global_identifier_define }, + .{ "CSSKeyframesRule", pure_global_identifier_define }, + .{ "CSSMediaRule", pure_global_identifier_define }, + .{ "CSSNamespaceRule", pure_global_identifier_define }, + .{ "CSSPageRule", pure_global_identifier_define }, + .{ "CSSRule", pure_global_identifier_define }, + .{ "CSSRuleList", pure_global_identifier_define }, + .{ "CSSStyleDeclaration", pure_global_identifier_define }, + .{ "CSSStyleRule", pure_global_identifier_define }, + .{ "CSSStyleSheet", pure_global_identifier_define }, + .{ "CSSSupportsRule", pure_global_identifier_define }, + .{ "CSSTransition", pure_global_identifier_define }, // 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"}, + .{ "SVGAElement", pure_global_identifier_define }, + .{ "SVGAngle", pure_global_identifier_define }, + .{ "SVGAnimateElement", pure_global_identifier_define }, + .{ "SVGAnimateMotionElement", pure_global_identifier_define }, + .{ "SVGAnimateTransformElement", pure_global_identifier_define }, + .{ "SVGAnimatedAngle", pure_global_identifier_define }, + .{ "SVGAnimatedBoolean", pure_global_identifier_define }, + .{ "SVGAnimatedEnumeration", pure_global_identifier_define }, + .{ "SVGAnimatedInteger", pure_global_identifier_define }, + .{ "SVGAnimatedLength", pure_global_identifier_define }, + .{ "SVGAnimatedLengthList", pure_global_identifier_define }, + .{ "SVGAnimatedNumber", pure_global_identifier_define }, + .{ "SVGAnimatedNumberList", pure_global_identifier_define }, + .{ "SVGAnimatedPreserveAspectRatio", pure_global_identifier_define }, + .{ "SVGAnimatedRect", pure_global_identifier_define }, + .{ "SVGAnimatedString", pure_global_identifier_define }, + .{ "SVGAnimatedTransformList", pure_global_identifier_define }, + .{ "SVGAnimationElement", pure_global_identifier_define }, + .{ "SVGCircleElement", pure_global_identifier_define }, + .{ "SVGClipPathElement", pure_global_identifier_define }, + .{ "SVGComponentTransferFunctionElement", pure_global_identifier_define }, + .{ "SVGDefsElement", pure_global_identifier_define }, + .{ "SVGDescElement", pure_global_identifier_define }, + .{ "SVGElement", pure_global_identifier_define }, + .{ "SVGEllipseElement", pure_global_identifier_define }, + .{ "SVGFEBlendElement", pure_global_identifier_define }, + .{ "SVGFEColorMatrixElement", pure_global_identifier_define }, + .{ "SVGFEComponentTransferElement", pure_global_identifier_define }, + .{ "SVGFECompositeElement", pure_global_identifier_define }, + .{ "SVGFEConvolveMatrixElement", pure_global_identifier_define }, + .{ "SVGFEDiffuseLightingElement", pure_global_identifier_define }, + .{ "SVGFEDisplacementMapElement", pure_global_identifier_define }, + .{ "SVGFEDistantLightElement", pure_global_identifier_define }, + .{ "SVGFEDropShadowElement", pure_global_identifier_define }, + .{ "SVGFEFloodElement", pure_global_identifier_define }, + .{ "SVGFEFuncAElement", pure_global_identifier_define }, + .{ "SVGFEFuncBElement", pure_global_identifier_define }, + .{ "SVGFEFuncGElement", pure_global_identifier_define }, + .{ "SVGFEFuncRElement", pure_global_identifier_define }, + .{ "SVGFEGaussianBlurElement", pure_global_identifier_define }, + .{ "SVGFEImageElement", pure_global_identifier_define }, + .{ "SVGFEMergeElement", pure_global_identifier_define }, + .{ "SVGFEMergeNodeElement", pure_global_identifier_define }, + .{ "SVGFEMorphologyElement", pure_global_identifier_define }, + .{ "SVGFEOffsetElement", pure_global_identifier_define }, + .{ "SVGFEPointLightElement", pure_global_identifier_define }, + .{ "SVGFESpecularLightingElement", pure_global_identifier_define }, + .{ "SVGFESpotLightElement", pure_global_identifier_define }, + .{ "SVGFETileElement", pure_global_identifier_define }, + .{ "SVGFETurbulenceElement", pure_global_identifier_define }, + .{ "SVGFilterElement", pure_global_identifier_define }, + .{ "SVGForeignObjectElement", pure_global_identifier_define }, + .{ "SVGGElement", pure_global_identifier_define }, + .{ "SVGGeometryElement", pure_global_identifier_define }, + .{ "SVGGradientElement", pure_global_identifier_define }, + .{ "SVGGraphicsElement", pure_global_identifier_define }, + .{ "SVGImageElement", pure_global_identifier_define }, + .{ "SVGLength", pure_global_identifier_define }, + .{ "SVGLengthList", pure_global_identifier_define }, + .{ "SVGLineElement", pure_global_identifier_define }, + .{ "SVGLinearGradientElement", pure_global_identifier_define }, + .{ "SVGMPathElement", pure_global_identifier_define }, + .{ "SVGMarkerElement", pure_global_identifier_define }, + .{ "SVGMaskElement", pure_global_identifier_define }, + .{ "SVGMatrix", pure_global_identifier_define }, + .{ "SVGMetadataElement", pure_global_identifier_define }, + .{ "SVGNumber", pure_global_identifier_define }, + .{ "SVGNumberList", pure_global_identifier_define }, + .{ "SVGPathElement", pure_global_identifier_define }, + .{ "SVGPatternElement", pure_global_identifier_define }, + .{ "SVGPoint", pure_global_identifier_define }, + .{ "SVGPointList", pure_global_identifier_define }, + .{ "SVGPolygonElement", pure_global_identifier_define }, + .{ "SVGPolylineElement", pure_global_identifier_define }, + .{ "SVGPreserveAspectRatio", pure_global_identifier_define }, + .{ "SVGRadialGradientElement", pure_global_identifier_define }, + .{ "SVGRect", pure_global_identifier_define }, + .{ "SVGRectElement", pure_global_identifier_define }, + .{ "SVGSVGElement", pure_global_identifier_define }, + .{ "SVGScriptElement", pure_global_identifier_define }, + .{ "SVGSetElement", pure_global_identifier_define }, + .{ "SVGStopElement", pure_global_identifier_define }, + .{ "SVGStringList", pure_global_identifier_define }, + .{ "SVGStyleElement", pure_global_identifier_define }, + .{ "SVGSwitchElement", pure_global_identifier_define }, + .{ "SVGSymbolElement", pure_global_identifier_define }, + .{ "SVGTSpanElement", pure_global_identifier_define }, + .{ "SVGTextContentElement", pure_global_identifier_define }, + .{ "SVGTextElement", pure_global_identifier_define }, + .{ "SVGTextPathElement", pure_global_identifier_define }, + .{ "SVGTextPositioningElement", pure_global_identifier_define }, + .{ "SVGTitleElement", pure_global_identifier_define }, + .{ "SVGTransform", pure_global_identifier_define }, + .{ "SVGTransformList", pure_global_identifier_define }, + .{ "SVGUnitTypes", pure_global_identifier_define }, + .{ "SVGUseElement", pure_global_identifier_define }, + .{ "SVGViewElement", pure_global_identifier_define }, // Other browser APIs // @@ -345,463 +398,465 @@ pub const GlobalDefinesKey = [_][]const string{ // - 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"}, + .{ "AnalyserNode", pure_global_identifier_define }, + .{ "Animation", pure_global_identifier_define }, + .{ "AnimationEffect", pure_global_identifier_define }, + .{ "AnimationEvent", pure_global_identifier_define }, + .{ "AnimationPlaybackEvent", pure_global_identifier_define }, + .{ "AnimationTimeline", pure_global_identifier_define }, + .{ "Attr", pure_global_identifier_define }, + .{ "Audio", pure_global_identifier_define }, + .{ "AudioBuffer", pure_global_identifier_define }, + .{ "AudioBufferSourceNode", pure_global_identifier_define }, + .{ "AudioDestinationNode", pure_global_identifier_define }, + .{ "AudioListener", pure_global_identifier_define }, + .{ "AudioNode", pure_global_identifier_define }, + .{ "AudioParam", pure_global_identifier_define }, + .{ "AudioProcessingEvent", pure_global_identifier_define }, + .{ "AudioScheduledSourceNode", pure_global_identifier_define }, + .{ "BarProp", pure_global_identifier_define }, + .{ "BeforeUnloadEvent", pure_global_identifier_define }, + .{ "BiquadFilterNode", pure_global_identifier_define }, + .{ "Blob", pure_global_identifier_define }, + .{ "BlobEvent", pure_global_identifier_define }, + .{ "ByteLengthQueuingStrategy", pure_global_identifier_define }, + .{ "CDATASection", pure_global_identifier_define }, + .{ "CSS", pure_global_identifier_define }, + .{ "CanvasGradient", pure_global_identifier_define }, + .{ "CanvasPattern", pure_global_identifier_define }, + .{ "CanvasRenderingContext2D", pure_global_identifier_define }, + .{ "ChannelMergerNode", pure_global_identifier_define }, + .{ "ChannelSplitterNode", pure_global_identifier_define }, + .{ "CharacterData", pure_global_identifier_define }, + .{ "ClipboardEvent", pure_global_identifier_define }, + .{ "CloseEvent", pure_global_identifier_define }, + .{ "Comment", pure_global_identifier_define }, + .{ "CompositionEvent", pure_global_identifier_define }, + .{ "ConvolverNode", pure_global_identifier_define }, + .{ "CountQueuingStrategy", pure_global_identifier_define }, + .{ "Crypto", pure_global_identifier_define }, + .{ "CustomElementRegistry", pure_global_identifier_define }, + .{ "CustomEvent", pure_global_identifier_define }, + .{ "DOMException", pure_global_identifier_define }, + .{ "DOMImplementation", pure_global_identifier_define }, + .{ "DOMMatrix", pure_global_identifier_define }, + .{ "DOMMatrixReadOnly", pure_global_identifier_define }, + .{ "DOMParser", pure_global_identifier_define }, + .{ "DOMPoint", pure_global_identifier_define }, + .{ "DOMPointReadOnly", pure_global_identifier_define }, + .{ "DOMQuad", pure_global_identifier_define }, + .{ "DOMRect", pure_global_identifier_define }, + .{ "DOMRectList", pure_global_identifier_define }, + .{ "DOMRectReadOnly", pure_global_identifier_define }, + .{ "DOMStringList", pure_global_identifier_define }, + .{ "DOMStringMap", pure_global_identifier_define }, + .{ "DOMTokenList", pure_global_identifier_define }, + .{ "DataTransfer", pure_global_identifier_define }, + .{ "DataTransferItem", pure_global_identifier_define }, + .{ "DataTransferItemList", pure_global_identifier_define }, + .{ "DelayNode", pure_global_identifier_define }, + .{ "Document", pure_global_identifier_define }, + .{ "DocumentFragment", pure_global_identifier_define }, + .{ "DocumentTimeline", pure_global_identifier_define }, + .{ "DocumentType", pure_global_identifier_define }, + .{ "DragEvent", pure_global_identifier_define }, + .{ "DynamicsCompressorNode", pure_global_identifier_define }, + .{ "Element", pure_global_identifier_define }, + .{ "ErrorEvent", pure_global_identifier_define }, + .{ "EventSource", pure_global_identifier_define }, + .{ "File", pure_global_identifier_define }, + .{ "FileList", pure_global_identifier_define }, + .{ "FileReader", pure_global_identifier_define }, + .{ "FocusEvent", pure_global_identifier_define }, + .{ "FontFace", pure_global_identifier_define }, + .{ "FormData", pure_global_identifier_define }, + .{ "GainNode", pure_global_identifier_define }, + .{ "Gamepad", pure_global_identifier_define }, + .{ "GamepadButton", pure_global_identifier_define }, + .{ "GamepadEvent", pure_global_identifier_define }, + .{ "Geolocation", pure_global_identifier_define }, + .{ "GeolocationPositionError", pure_global_identifier_define }, + .{ "HTMLAllCollection", pure_global_identifier_define }, + .{ "HTMLAnchorElement", pure_global_identifier_define }, + .{ "HTMLAreaElement", pure_global_identifier_define }, + .{ "HTMLAudioElement", pure_global_identifier_define }, + .{ "HTMLBRElement", pure_global_identifier_define }, + .{ "HTMLBaseElement", pure_global_identifier_define }, + .{ "HTMLBodyElement", pure_global_identifier_define }, + .{ "HTMLButtonElement", pure_global_identifier_define }, + .{ "HTMLCanvasElement", pure_global_identifier_define }, + .{ "HTMLCollection", pure_global_identifier_define }, + .{ "HTMLDListElement", pure_global_identifier_define }, + .{ "HTMLDataElement", pure_global_identifier_define }, + .{ "HTMLDataListElement", pure_global_identifier_define }, + .{ "HTMLDetailsElement", pure_global_identifier_define }, + .{ "HTMLDirectoryElement", pure_global_identifier_define }, + .{ "HTMLDivElement", pure_global_identifier_define }, + .{ "HTMLDocument", pure_global_identifier_define }, + .{ "HTMLElement", pure_global_identifier_define }, + .{ "HTMLEmbedElement", pure_global_identifier_define }, + .{ "HTMLFieldSetElement", pure_global_identifier_define }, + .{ "HTMLFontElement", pure_global_identifier_define }, + .{ "HTMLFormControlsCollection", pure_global_identifier_define }, + .{ "HTMLFormElement", pure_global_identifier_define }, + .{ "HTMLFrameElement", pure_global_identifier_define }, + .{ "HTMLFrameSetElement", pure_global_identifier_define }, + .{ "HTMLHRElement", pure_global_identifier_define }, + .{ "HTMLHeadElement", pure_global_identifier_define }, + .{ "HTMLHeadingElement", pure_global_identifier_define }, + .{ "HTMLHtmlElement", pure_global_identifier_define }, + .{ "HTMLIFrameElement", pure_global_identifier_define }, + .{ "HTMLImageElement", pure_global_identifier_define }, + .{ "HTMLInputElement", pure_global_identifier_define }, + .{ "HTMLLIElement", pure_global_identifier_define }, + .{ "HTMLLabelElement", pure_global_identifier_define }, + .{ "HTMLLegendElement", pure_global_identifier_define }, + .{ "HTMLLinkElement", pure_global_identifier_define }, + .{ "HTMLMapElement", pure_global_identifier_define }, + .{ "HTMLMarqueeElement", pure_global_identifier_define }, + .{ "HTMLMediaElement", pure_global_identifier_define }, + .{ "HTMLMenuElement", pure_global_identifier_define }, + .{ "HTMLMetaElement", pure_global_identifier_define }, + .{ "HTMLMeterElement", pure_global_identifier_define }, + .{ "HTMLModElement", pure_global_identifier_define }, + .{ "HTMLOListElement", pure_global_identifier_define }, + .{ "HTMLObjectElement", pure_global_identifier_define }, + .{ "HTMLOptGroupElement", pure_global_identifier_define }, + .{ "HTMLOptionElement", pure_global_identifier_define }, + .{ "HTMLOptionsCollection", pure_global_identifier_define }, + .{ "HTMLOutputElement", pure_global_identifier_define }, + .{ "HTMLParagraphElement", pure_global_identifier_define }, + .{ "HTMLParamElement", pure_global_identifier_define }, + .{ "HTMLPictureElement", pure_global_identifier_define }, + .{ "HTMLPreElement", pure_global_identifier_define }, + .{ "HTMLProgressElement", pure_global_identifier_define }, + .{ "HTMLQuoteElement", pure_global_identifier_define }, + .{ "HTMLScriptElement", pure_global_identifier_define }, + .{ "HTMLSelectElement", pure_global_identifier_define }, + .{ "HTMLSlotElement", pure_global_identifier_define }, + .{ "HTMLSourceElement", pure_global_identifier_define }, + .{ "HTMLSpanElement", pure_global_identifier_define }, + .{ "HTMLStyleElement", pure_global_identifier_define }, + .{ "HTMLTableCaptionElement", pure_global_identifier_define }, + .{ "HTMLTableCellElement", pure_global_identifier_define }, + .{ "HTMLTableColElement", pure_global_identifier_define }, + .{ "HTMLTableElement", pure_global_identifier_define }, + .{ "HTMLTableRowElement", pure_global_identifier_define }, + .{ "HTMLTableSectionElement", pure_global_identifier_define }, + .{ "HTMLTemplateElement", pure_global_identifier_define }, + .{ "HTMLTextAreaElement", pure_global_identifier_define }, + .{ "HTMLTimeElement", pure_global_identifier_define }, + .{ "HTMLTitleElement", pure_global_identifier_define }, + .{ "HTMLTrackElement", pure_global_identifier_define }, + .{ "HTMLUListElement", pure_global_identifier_define }, + .{ "HTMLUnknownElement", pure_global_identifier_define }, + .{ "HTMLVideoElement", pure_global_identifier_define }, + .{ "HashChangeEvent", pure_global_identifier_define }, + .{ "Headers", pure_global_identifier_define }, + .{ "History", pure_global_identifier_define }, + .{ "IDBCursor", pure_global_identifier_define }, + .{ "IDBCursorWithValue", pure_global_identifier_define }, + .{ "IDBDatabase", pure_global_identifier_define }, + .{ "IDBFactory", pure_global_identifier_define }, + .{ "IDBIndex", pure_global_identifier_define }, + .{ "IDBKeyRange", pure_global_identifier_define }, + .{ "IDBObjectStore", pure_global_identifier_define }, + .{ "IDBOpenDBRequest", pure_global_identifier_define }, + .{ "IDBRequest", pure_global_identifier_define }, + .{ "IDBTransaction", pure_global_identifier_define }, + .{ "IDBVersionChangeEvent", pure_global_identifier_define }, + .{ "Image", pure_global_identifier_define }, + .{ "ImageData", pure_global_identifier_define }, + .{ "InputEvent", pure_global_identifier_define }, + .{ "IntersectionObserver", pure_global_identifier_define }, + .{ "IntersectionObserverEntry", pure_global_identifier_define }, + .{ "KeyboardEvent", pure_global_identifier_define }, + .{ "KeyframeEffect", pure_global_identifier_define }, + .{ "Location", pure_global_identifier_define }, + .{ "MediaCapabilities", pure_global_identifier_define }, + .{ "MediaElementAudioSourceNode", pure_global_identifier_define }, + .{ "MediaEncryptedEvent", pure_global_identifier_define }, + .{ "MediaError", pure_global_identifier_define }, + .{ "MediaList", pure_global_identifier_define }, + .{ "MediaQueryList", pure_global_identifier_define }, + .{ "MediaQueryListEvent", pure_global_identifier_define }, + .{ "MediaRecorder", pure_global_identifier_define }, + .{ "MediaSource", pure_global_identifier_define }, + .{ "MediaStream", pure_global_identifier_define }, + .{ "MediaStreamAudioDestinationNode", pure_global_identifier_define }, + .{ "MediaStreamAudioSourceNode", pure_global_identifier_define }, + .{ "MediaStreamTrack", pure_global_identifier_define }, + .{ "MediaStreamTrackEvent", pure_global_identifier_define }, + .{ "MimeType", pure_global_identifier_define }, + .{ "MimeTypeArray", pure_global_identifier_define }, + .{ "MouseEvent", pure_global_identifier_define }, + .{ "MutationEvent", pure_global_identifier_define }, + .{ "MutationObserver", pure_global_identifier_define }, + .{ "MutationRecord", pure_global_identifier_define }, + .{ "NamedNodeMap", pure_global_identifier_define }, + .{ "Navigator", pure_global_identifier_define }, + .{ "Node", pure_global_identifier_define }, + .{ "NodeFilter", pure_global_identifier_define }, + .{ "NodeIterator", pure_global_identifier_define }, + .{ "NodeList", pure_global_identifier_define }, + .{ "Notification", pure_global_identifier_define }, + .{ "OfflineAudioCompletionEvent", pure_global_identifier_define }, + .{ "Option", pure_global_identifier_define }, + .{ "OscillatorNode", pure_global_identifier_define }, + .{ "PageTransitionEvent", pure_global_identifier_define }, + .{ "Path2D", pure_global_identifier_define }, + .{ "Performance", pure_global_identifier_define }, + .{ "PerformanceEntry", pure_global_identifier_define }, + .{ "PerformanceMark", pure_global_identifier_define }, + .{ "PerformanceMeasure", pure_global_identifier_define }, + .{ "PerformanceNavigation", pure_global_identifier_define }, + .{ "PerformanceObserver", pure_global_identifier_define }, + .{ "PerformanceObserverEntryList", pure_global_identifier_define }, + .{ "PerformanceResourceTiming", pure_global_identifier_define }, + .{ "PerformanceTiming", pure_global_identifier_define }, + .{ "PeriodicWave", pure_global_identifier_define }, + .{ "Plugin", pure_global_identifier_define }, + .{ "PluginArray", pure_global_identifier_define }, + .{ "PointerEvent", pure_global_identifier_define }, + .{ "PopStateEvent", pure_global_identifier_define }, + .{ "ProcessingInstruction", pure_global_identifier_define }, + .{ "ProgressEvent", pure_global_identifier_define }, + .{ "PromiseRejectionEvent", pure_global_identifier_define }, + .{ "RTCCertificate", pure_global_identifier_define }, + .{ "RTCDTMFSender", pure_global_identifier_define }, + .{ "RTCDTMFToneChangeEvent", pure_global_identifier_define }, + .{ "RTCDataChannel", pure_global_identifier_define }, + .{ "RTCDataChannelEvent", pure_global_identifier_define }, + .{ "RTCIceCandidate", pure_global_identifier_define }, + .{ "RTCPeerConnection", pure_global_identifier_define }, + .{ "RTCPeerConnectionIceEvent", pure_global_identifier_define }, + .{ "RTCRtpReceiver", pure_global_identifier_define }, + .{ "RTCRtpSender", pure_global_identifier_define }, + .{ "RTCRtpTransceiver", pure_global_identifier_define }, + .{ "RTCSessionDescription", pure_global_identifier_define }, + .{ "RTCStatsReport", pure_global_identifier_define }, + .{ "RTCTrackEvent", pure_global_identifier_define }, + .{ "RadioNodeList", pure_global_identifier_define }, + .{ "Range", pure_global_identifier_define }, + .{ "ReadableStream", pure_global_identifier_define }, + .{ "Request", pure_global_identifier_define }, + .{ "ResizeObserver", pure_global_identifier_define }, + .{ "ResizeObserverEntry", pure_global_identifier_define }, + .{ "Response", pure_global_identifier_define }, + .{ "Screen", pure_global_identifier_define }, + .{ "ScriptProcessorNode", pure_global_identifier_define }, + .{ "SecurityPolicyViolationEvent", pure_global_identifier_define }, + .{ "Selection", pure_global_identifier_define }, + .{ "ShadowRoot", pure_global_identifier_define }, + .{ "SourceBuffer", pure_global_identifier_define }, + .{ "SourceBufferList", pure_global_identifier_define }, + .{ "SpeechSynthesisEvent", pure_global_identifier_define }, + .{ "SpeechSynthesisUtterance", pure_global_identifier_define }, + .{ "StaticRange", pure_global_identifier_define }, + .{ "Storage", pure_global_identifier_define }, + .{ "StorageEvent", pure_global_identifier_define }, + .{ "StyleSheet", pure_global_identifier_define }, + .{ "StyleSheetList", pure_global_identifier_define }, + .{ "Text", pure_global_identifier_define }, + .{ "TextMetrics", pure_global_identifier_define }, + .{ "TextTrack", pure_global_identifier_define }, + .{ "TextTrackCue", pure_global_identifier_define }, + .{ "TextTrackCueList", pure_global_identifier_define }, + .{ "TextTrackList", pure_global_identifier_define }, + .{ "TimeRanges", pure_global_identifier_define }, + .{ "TrackEvent", pure_global_identifier_define }, + .{ "TransitionEvent", pure_global_identifier_define }, + .{ "TreeWalker", pure_global_identifier_define }, + .{ "UIEvent", pure_global_identifier_define }, + .{ "VTTCue", pure_global_identifier_define }, + .{ "ValidityState", pure_global_identifier_define }, + .{ "VisualViewport", pure_global_identifier_define }, + .{ "WaveShaperNode", pure_global_identifier_define }, + .{ "WebGLActiveInfo", pure_global_identifier_define }, + .{ "WebGLBuffer", pure_global_identifier_define }, + .{ "WebGLContextEvent", pure_global_identifier_define }, + .{ "WebGLFramebuffer", pure_global_identifier_define }, + .{ "WebGLProgram", pure_global_identifier_define }, + .{ "WebGLQuery", pure_global_identifier_define }, + .{ "WebGLRenderbuffer", pure_global_identifier_define }, + .{ "WebGLRenderingContext", pure_global_identifier_define }, + .{ "WebGLSampler", pure_global_identifier_define }, + .{ "WebGLShader", pure_global_identifier_define }, + .{ "WebGLShaderPrecisionFormat", pure_global_identifier_define }, + .{ "WebGLSync", pure_global_identifier_define }, + .{ "WebGLTexture", pure_global_identifier_define }, + .{ "WebGLUniformLocation", pure_global_identifier_define }, + .{ "WebKitCSSMatrix", pure_global_identifier_define }, + .{ "WebSocket", pure_global_identifier_define }, + .{ "WheelEvent", pure_global_identifier_define }, + .{ "Window", pure_global_identifier_define }, + .{ "Worker", pure_global_identifier_define }, + .{ "XMLDocument", pure_global_identifier_define }, + .{ "XMLHttpRequest", pure_global_identifier_define }, + .{ "XMLHttpRequestEventTarget", pure_global_identifier_define }, + .{ "XMLHttpRequestUpload", pure_global_identifier_define }, + .{ "XMLSerializer", pure_global_identifier_define }, + .{ "XPathEvaluator", pure_global_identifier_define }, + .{ "XPathExpression", pure_global_identifier_define }, + .{ "XPathResult", pure_global_identifier_define }, + .{ "XSLTProcessor", pure_global_identifier_define }, + .{ "alert", pure_global_identifier_define }, + .{ "atob", pure_global_identifier_define }, + .{ "blur", pure_global_identifier_define }, + .{ "btoa", pure_global_identifier_define }, + .{ "cancelAnimationFrame", pure_global_identifier_define }, + .{ "captureEvents", pure_global_identifier_define }, + .{ "close", pure_global_identifier_define }, + .{ "closed", pure_global_identifier_define }, + .{ "confirm", pure_global_identifier_define }, + .{ "customElements", pure_global_identifier_define }, + .{ "devicePixelRatio", pure_global_identifier_define }, + .{ "document", pure_global_identifier_define }, + .{ "event", pure_global_identifier_define }, + .{ "fetch", pure_global_identifier_define }, + .{ "find", pure_global_identifier_define }, + .{ "focus", pure_global_identifier_define }, + .{ "frameElement", pure_global_identifier_define }, + .{ "frames", pure_global_identifier_define }, + .{ "getComputedStyle", pure_global_identifier_define }, + .{ "getSelection", pure_global_identifier_define }, + .{ "history", pure_global_identifier_define }, + .{ "indexedDB", pure_global_identifier_define }, + .{ "isSecureContext", pure_global_identifier_define }, + .{ "length", pure_global_identifier_define }, + .{ "location", pure_global_identifier_define }, + .{ "locationbar", pure_global_identifier_define }, + .{ "matchMedia", pure_global_identifier_define }, + .{ "menubar", pure_global_identifier_define }, + .{ "moveBy", pure_global_identifier_define }, + .{ "moveTo", pure_global_identifier_define }, + .{ "name", pure_global_identifier_define }, + .{ "navigator", pure_global_identifier_define }, + .{ "onabort", pure_global_identifier_define }, + .{ "onafterprint", pure_global_identifier_define }, + .{ "onanimationend", pure_global_identifier_define }, + .{ "onanimationiteration", pure_global_identifier_define }, + .{ "onanimationstart", pure_global_identifier_define }, + .{ "onbeforeprint", pure_global_identifier_define }, + .{ "onbeforeunload", pure_global_identifier_define }, + .{ "onblur", pure_global_identifier_define }, + .{ "oncanplay", pure_global_identifier_define }, + .{ "oncanplaythrough", pure_global_identifier_define }, + .{ "onchange", pure_global_identifier_define }, + .{ "onclick", pure_global_identifier_define }, + .{ "oncontextmenu", pure_global_identifier_define }, + .{ "oncuechange", pure_global_identifier_define }, + .{ "ondblclick", pure_global_identifier_define }, + .{ "ondrag", pure_global_identifier_define }, + .{ "ondragend", pure_global_identifier_define }, + .{ "ondragenter", pure_global_identifier_define }, + .{ "ondragleave", pure_global_identifier_define }, + .{ "ondragover", pure_global_identifier_define }, + .{ "ondragstart", pure_global_identifier_define }, + .{ "ondrop", pure_global_identifier_define }, + .{ "ondurationchange", pure_global_identifier_define }, + .{ "onemptied", pure_global_identifier_define }, + .{ "onended", pure_global_identifier_define }, + .{ "onerror", pure_global_identifier_define }, + .{ "onfocus", pure_global_identifier_define }, + .{ "ongotpointercapture", pure_global_identifier_define }, + .{ "onhashchange", pure_global_identifier_define }, + .{ "oninput", pure_global_identifier_define }, + .{ "oninvalid", pure_global_identifier_define }, + .{ "onkeydown", pure_global_identifier_define }, + .{ "onkeypress", pure_global_identifier_define }, + .{ "onkeyup", pure_global_identifier_define }, + .{ "onlanguagechange", pure_global_identifier_define }, + .{ "onload", pure_global_identifier_define }, + .{ "onloadeddata", pure_global_identifier_define }, + .{ "onloadedmetadata", pure_global_identifier_define }, + .{ "onloadstart", pure_global_identifier_define }, + .{ "onlostpointercapture", pure_global_identifier_define }, + .{ "onmessage", pure_global_identifier_define }, + .{ "onmousedown", pure_global_identifier_define }, + .{ "onmouseenter", pure_global_identifier_define }, + .{ "onmouseleave", pure_global_identifier_define }, + .{ "onmousemove", pure_global_identifier_define }, + .{ "onmouseout", pure_global_identifier_define }, + .{ "onmouseover", pure_global_identifier_define }, + .{ "onmouseup", pure_global_identifier_define }, + .{ "onoffline", pure_global_identifier_define }, + .{ "ononline", pure_global_identifier_define }, + .{ "onpagehide", pure_global_identifier_define }, + .{ "onpageshow", pure_global_identifier_define }, + .{ "onpause", pure_global_identifier_define }, + .{ "onplay", pure_global_identifier_define }, + .{ "onplaying", pure_global_identifier_define }, + .{ "onpointercancel", pure_global_identifier_define }, + .{ "onpointerdown", pure_global_identifier_define }, + .{ "onpointerenter", pure_global_identifier_define }, + .{ "onpointerleave", pure_global_identifier_define }, + .{ "onpointermove", pure_global_identifier_define }, + .{ "onpointerout", pure_global_identifier_define }, + .{ "onpointerover", pure_global_identifier_define }, + .{ "onpointerup", pure_global_identifier_define }, + .{ "onpopstate", pure_global_identifier_define }, + .{ "onprogress", pure_global_identifier_define }, + .{ "onratechange", pure_global_identifier_define }, + .{ "onrejectionhandled", pure_global_identifier_define }, + .{ "onreset", pure_global_identifier_define }, + .{ "onresize", pure_global_identifier_define }, + .{ "onscroll", pure_global_identifier_define }, + .{ "onseeked", pure_global_identifier_define }, + .{ "onseeking", pure_global_identifier_define }, + .{ "onselect", pure_global_identifier_define }, + .{ "onstalled", pure_global_identifier_define }, + .{ "onstorage", pure_global_identifier_define }, + .{ "onsubmit", pure_global_identifier_define }, + .{ "onsuspend", pure_global_identifier_define }, + .{ "ontimeupdate", pure_global_identifier_define }, + .{ "ontoggle", pure_global_identifier_define }, + .{ "ontransitioncancel", pure_global_identifier_define }, + .{ "ontransitionend", pure_global_identifier_define }, + .{ "ontransitionrun", pure_global_identifier_define }, + .{ "ontransitionstart", pure_global_identifier_define }, + .{ "onunhandledrejection", pure_global_identifier_define }, + .{ "onunload", pure_global_identifier_define }, + .{ "onvolumechange", pure_global_identifier_define }, + .{ "onwaiting", pure_global_identifier_define }, + .{ "onwebkitanimationend", pure_global_identifier_define }, + .{ "onwebkitanimationiteration", pure_global_identifier_define }, + .{ "onwebkitanimationstart", pure_global_identifier_define }, + .{ "onwebkittransitionend", pure_global_identifier_define }, + .{ "onwheel", pure_global_identifier_define }, + .{ "open", pure_global_identifier_define }, + .{ "opener", pure_global_identifier_define }, + .{ "origin", pure_global_identifier_define }, + .{ "outerHeight", pure_global_identifier_define }, + .{ "outerWidth", pure_global_identifier_define }, + .{ "parent", pure_global_identifier_define }, + .{ "performance", pure_global_identifier_define }, + .{ "personalbar", pure_global_identifier_define }, + .{ "postMessage", pure_global_identifier_define }, + .{ "print", pure_global_identifier_define }, + .{ "prompt", pure_global_identifier_define }, + .{ "releaseEvents", pure_global_identifier_define }, + .{ "requestAnimationFrame", pure_global_identifier_define }, + .{ "resizeBy", pure_global_identifier_define }, + .{ "resizeTo", pure_global_identifier_define }, + .{ "screen", pure_global_identifier_define }, + .{ "screenLeft", pure_global_identifier_define }, + .{ "screenTop", pure_global_identifier_define }, + .{ "screenX", pure_global_identifier_define }, + .{ "screenY", pure_global_identifier_define }, + .{ "scroll", pure_global_identifier_define }, + .{ "scrollBy", pure_global_identifier_define }, + .{ "scrollTo", pure_global_identifier_define }, + .{ "scrollbars", pure_global_identifier_define }, + .{ "self", pure_global_identifier_define }, + .{ "speechSynthesis", pure_global_identifier_define }, + .{ "status", pure_global_identifier_define }, + .{ "statusbar", pure_global_identifier_define }, + .{ "stop", pure_global_identifier_define }, + .{ "toolbar", pure_global_identifier_define }, + .{ "top", pure_global_identifier_define }, + .{ "webkitURL", pure_global_identifier_define }, + .{ "window", pure_global_identifier_define }, }; + +pub const pure_global_identifier_map = bun.ComptimeStringMap(defines.IdentifierDefine, pure_global_identifiers); |